Как записать команды с переменными по умолчанию для терминального или приложения по умолчанию (Браузер, Терминал), таким образом, это работало бы над какой-либо Ubuntu или Debian?
Например, у помощника Ubuntu есть терминал помощника, Как записать команды, которые открылись бы в каждом дистрибутиве befault терминалом и браузером? Таким образом в этой командной строке не было бы терминальным помощником и Firefox, но некоторая обертка их ни для каких пользовательских приложений значения по умолчанию дистрибутива для терминала или браузера.
mate-terminal -- bash -c 'sleep 2; dpkg -S "\/bin/$(xprop WM_CLASS | cut -d "\"" -f2)"; sleep 5; firefox'
как найти переменные приложения по умолчанию или обертки так, чтобы команда работала бы в каких-либо приложениях для терминала дистрибутива? Как найти также переменные текстового редактора или браузер по умолчанию?
Если необходимо выполнить ту же команду на нескольких платформах / дистрибутивы, там обходное решение, которое включает настроенные копии записи той же команды и разделения их с ||
оператор, который попытается выполнить следующую команду, если первая команда перестанет работать.
Команда для mate-terminal
:
mate-terminal -- bash -c 'sleep 2; echo "hi"; sleep 5; firefox'
Команда для gnome-terminal
:
gnome-terminal -- bash -c 'sleep 2; echo "hi"; sleep 5; firefox'
Команда, которая будет работать на любом терминале:
mate-terminal -- bash -c 'sleep 2; echo "hi"; sleep 5; firefox' || gnome-terminal -- bash -c 'sleep 2; echo "hi"; sleep 5; firefox'
Команда, которая будет работать на любом терминале и запускаться также firefox
, google-chrome
или chromium
:
mate-terminal -- bash -c 'sleep 2; echo "hi"; sleep 5; firefox || google-chrome || chromium' || gnome-terminal -- bash -c 'sleep 2; echo "hi"; sleep 5; firefox || google-chrome || chromium'
Это однако потребует, чтобы изучение целевых платформ узнало, как правильно выполнить команду.
Всего наилучшего
Я не знаю много о том, как другой дистрибутивный набор их предпочтительные приложения для веб-браузера и эмулятора терминала, но я делаю для настольной среды Xfce. Возможно, можно сделать то же с другим DES, если Вы устанавливаете exo-utils
пакет.
Предпочтительные приложения были бы установлены путем выполнения
exo-preferred-applications
и Ваша команда в качестве примера (цель которого неизвестна мне) была бы сформулирована как это:
exo-open --launch TerminalEmulator bash -c 'sleep 2; dpkg -S "\/bin/$(xprop WM_CLASS | cut -d "\"" -f2)"; sleep 5; exo-open --launch WebBrowser; read'
read
необходим, потому что веб-браузер мог бы согласиться с окном терминала.
Вот, переписывают Вашей команды с помощью системы альтернатив Debian:
x-terminal-emulator -e bash -c 'sleep 2; dpkg -S "\/bin/$(xprop WM_CLASS | cut -d "\"" -f2)"; sleep 5; x-www-browser'
Отметьте использование -e
для команды должен работать эмулятор терминала.
Если бы требуется изменить эмулятор терминала по умолчанию, Вы работали бы
sudo update-alternatives --config x-terminal-emulator
Соответственно, для изменения веб-браузера по умолчанию Вы работали бы
sudo update-alternatives --config x-www-browser