Linux Mint 18.xの作業ソリューション

Linux Mint 18.xの作業ソリューション

オペレーティングシステム:Linux Mint 18.x Cinnamon 64ビット

現在の作業ディレクトリで、Cinnamonのデフォルトファイルマネージャと通常のファイルマネージャを実行したいとしますnemosudo

sudo nemo .

質問:

  1. 次のように、私が気にしないさまざまな小さなエラーが表示されます。

    (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
    
  2. 電源を切った後、gnome-terminal制御権が再び私に戻るまで正確に30秒かかりました。


目標はbash aliasまたはを定義することですfunction。これには、これらの側面や他の否定的な側面はありません。

また:

  1. NemoとTerminalを独立して使用できるように、すぐにコントロールを引き渡したいと思います。

  2. 作業ディレクトリのように実行したり、いくつかのディレクトリを引数として提供したいと思います。

答え1

私の観点から最も効率的な方法は次のとおりです。

  1. 使うサブシェル(つまり、)実際のコマンドの開始と終了です。

  2. &最後に、コマンドを背景に設定します。

  3. バックグラウンドプロセスとして実行しているためノーマル sudo成功しないため、対応するグラフィックを使用する必要がありますgksudo

  4. IMHO これは不可能です。引数が指定されていることを確認し、それに応じてアクションを実行する必要があるため、代わりにaliasaを定義する必要があります。function

  5. すべての出力をブラックホール(> /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
}

関連情報