web-dev-qa-db-ja.com

UbuntuまたはDebianで機能するように、ターミナルまたはデフォルトアプリ(ブラウザ、ターミナル)のデフォルト変数を使用してコマンドを作成する方法

UbuntuまたはDebianで機能するように、ターミナルまたはデフォルトアプリ(ブラウザ、ターミナル)のデフォルト変数を使用してコマンドを作成する方法

たとえば、Ubuntu mateにはmate-terminalがあります。欠陥のあるターミナルとブラウザを使用して、各ディストリビューションで開くコマンドを作成するにはどうすればよいですか?したがって、このコマンドラインでは、mate-terminalとfirefoxはありませんが、ターミナルまたはブラウザのディストリビューションユーザーのデフォルトアプリのラッパーです。

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

コマンドがディストリビューションターミナルアプリで実行されるように、デフォルトのアプリ変数またはラッパーを見つける方法デフォルトのブラウザまたはテキストエディタの変数を見つける方法は?

2
Kangarooo

複数のプラットフォーム/ディストリビューションで同じコマンドを実行する必要がある場合は、同じコマンドのカスタマイズされたコピーを作成し、最初のコマンドが失敗した場合に次のコマンドを実行しようとする||演算子でそれらを分離するという回避策があります。

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'

どちらかの端末で実行され、firefoxgoogle-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
Raffa

別のディストリビューションがWebブラウザーとターミナルエミュレーターに優先アプリをどのように設定するかについてはよくわかりませんが、Xfceデスクトップ環境ではそうです。 exo-utilsパッケージをインストールすれば、他のDEでも同じことができるでしょう。

優先アプリケーションは、実行することで設定されます

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は、Webブラウザーがターミナルウィンドウで閉じる可能性があるために必要です。

1
jarno

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

それぞれ、実行するデフォルトのWebブラウザーを変更するには

Sudo update-alternatives --config x-www-browser
0
jarno