オペレーティングシステム:Linux Mint 18.x Cinnamon 64ビット
現在の作業ディレクトリで、Cinnamonのデフォルトファイルマネージャと通常のファイルマネージャを実行したいとしますnemo
。sudo
sudo nemo .
質問:
次のように、私が気にしないさまざまな小さなエラーが表示されます。
(nemo:21081): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files
電源を切った後、
gnome-terminal
制御権が再び私に戻るまで正確に30秒かかりました。
目標はbash
alias
またはを定義することですfunction
。これには、これらの側面や他の否定的な側面はありません。
また:
NemoとTerminalを独立して使用できるように、すぐにコントロールを引き渡したいと思います。
作業ディレクトリのように実行したり、いくつかのディレクトリを引数として提供したいと思います。
答え1
私の観点から最も効率的な方法は次のとおりです。
使うサブシェル
(
つまり、)
実際のコマンドの開始と終了です。&
最後に、コマンドを背景に設定します。バックグラウンドプロセスとして実行しているためノーマル
sudo
成功しないため、対応するグラフィックを使用する必要がありますgksudo
。IMHO これは不可能です。引数が指定されていることを確認し、それに応じてアクションを実行する必要があるため、代わりに
alias
aを定義する必要があります。function
すべての出力をブラックホール(
> /dev/null 2>&1
)にリダイレクトするのが良い習慣です。この場合、実際には何もしません。
次の機能は私の期待に応えます。ソリューションを自由に追加してください。
Linux Mint 18.xの作業ソリューション
function sunemo {
if [ -z "$1" ]
then
(gksudo nemo . > /dev/null 2>&1 &)
else
(gksudo nemo "$1" > /dev/null 2>&1 &)
fi
}
Linux Mint 19.xでは、gksudo
これが削除されたことがわかります。
Linux Mint 19.xの作業ソリューション
function sunemo {
if [ -z "$1" ]
then
(nemo "admin://$PWD" > /dev/null 2>&1 &)
else
(nemo "admin://$1" > /dev/null 2>&1 &)
fi
}