скрытый диалог «не отвечает» не работает мышью для всех приложений

Если у вас установлен dlocate , есть простой способ перечислить все команды в установленном пакете:

dlocate -lsbin PACKAGE-NAME

С помощью всего dpkg вы можете перечислите файлы в стандартных каталогах PATH (это почти все исполняемые программы, за очень немногими исключениями):

dpkg -L PACKAGE-NAME… | sed -n 's!^\(/s\?bin\|/usr/s\?bin\|/usr/games\)/!!p' | sort -u

Исключения составляют несколько каталогов - в Debian wheezy только два: / usr / bin / mh и / usr / bin / nu-mh .

Если пакет не установлен, замените dpkg -L на apt-file -F list :

apt-file -F list PACKAGE-NAME… | sed -n 's!^\(/s\?bin\|/usr/s\?bin\|/usr/games\)/!!p' | sort -u

Хотя в других каталогах есть исполняемые файлы, их нет предназначены для непосредственного выполнения, что делает их здесь неуместными.

Во всех этих методах отсутствует набор программ: те, которые предоставляются через механизм альтернатив . Например, для пакета ftp предоставляются только netkit-ftp и pftp , но этот пакет фактически предоставляет команду ftp , потому что / usr / bin / ftp - это символическая ссылка на / etc / alternatives / ftp , которая является символической ссылкой на одну из реализаций ftp в системе , потенциально / usr / bin / netkit-ftp . Следующая команда (которая не является примером хорошего программирования, а просто большой однострочник) перечисляет команды, предоставляемые пакетом через механизм альтернатив, как в настоящее время настроено.

perl -lwe 'foreach (`dpkg -L @ARGV`) {chomp; ++$p{$_}} foreach () {$e = readlink; next unless defined $e and $e =~ m!^/etc/alternatives/!; $t = readlink $e; print if $p{$t}}' PACKAGE_NAME…

Если вы хотите перечислить команды, которые могут быть предоставлены через альтернативу, которая в настоящее время настроена так, чтобы указывать на другой пакет, вам необходимо проанализировать файлы в / var / lib / dpkg / alternatives .

Символические ссылки и файлы конфигурации, реализующие альтернативные механизмы, не регистрируются в пакетах, а регистрируются автоматически в postinst , что затрудняет (и фактически делает технически невозможным, если сценарий установки пакета не следует соглашениям) ), чтобы запросить альтернативы, предоставляемые неустановленным пакетом.

0
21.01.2019, 19:41
2 ответа

Установите расширение оболочки gnome NoAnnoyance.

-1
28.01.2020, 05:05

Точно такая же проблема с qtcreator и Ubuntu по умолчанию здесь. Эта ошибка, связанная с мусорным сервером x11 --, продолжается не менее шести лет.https://bugzilla.redhat.com/show_bug.cgi?id=981149

Это окончательно исправлено здесь:https://gitlab.gnome.org/GNOME/gnome-shell/issues/273. Обновление оболочки gnome -до версии 3.30+ должно помочь.

0
28.01.2020, 05:05

Теги

Похожие вопросы