Как записать команды с переменными по умолчанию для терминального или приложения по умолчанию (Браузер, Терминал), таким образом, это работало бы над какой-либо Ubuntu или Debian?

Как записать команды с переменными по умолчанию для терминального или приложения по умолчанию (Браузер, Терминал), таким образом, это работало бы над какой-либо Ubuntu или Debian?

Например, у помощника Ubuntu есть терминал помощника, Как записать команды, которые открылись бы в каждом дистрибутиве befault терминалом и браузером? Таким образом в этой командной строке не было бы терминальным помощником и Firefox, но некоторая обертка их ни для каких пользовательских приложений значения по умолчанию дистрибутива для терминала или браузера.

mate-terminal -- bash -c 'sleep 2; dpkg -S "\/bin/$(xprop WM_CLASS | cut -d "\"" -f2)"; sleep 5; firefox'

как найти переменные приложения по умолчанию или обертки так, чтобы команда работала бы в каких-либо приложениях для терминала дистрибутива? Как найти также переменные текстового редактора или браузер по умолчанию?

2
задан 7 March 2020 в 19:11

3 ответа

Если необходимо выполнить ту же команду на нескольких платформах / дистрибутивы, там обходное решение, которое включает настроенные копии записи той же команды и разделения их с || оператор, который попытается выполнить следующую команду, если первая команда перестанет работать.

Пример

Команда для 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'

Это однако потребует, чтобы изучение целевых платформ узнало, как правильно выполнить команду.

Всего наилучшего

1
ответ дан 17 March 2020 в 00:06

Я не знаю много о том, как другой дистрибутивный набор их предпочтительные приложения для веб-браузера и эмулятора терминала, но я делаю для настольной среды 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 необходим, потому что веб-браузер мог бы согласиться с окном терминала.

1
ответ дан 17 March 2020 в 00:06

Вот, переписывают Вашей команды с помощью системы альтернатив 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
0
ответ дан 17 March 2020 в 00:06

Другие вопросы по тегам:

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