nautilusがbashスクリプトにマウントされたパーティションを表示しないようにする
私のbashスクリプトでは、パーティションをマウントし、それらをチェックし、ファイルをそれらにコピーして、アンマウントします。スクリプトがパーティションをマウントすると、Nautilusがポップアップし、ウィンドウにパーティションが表示され、フォーカスが奪われます。これは避けたいものです。 注:システムの設定、詳細、リムーバブルメディアなどでこの動作を変更できることはわかっていますが、動作Never prompt or start programs on media insertionを変更したくありません。たとえば、USBスティックが接続されている場合は、bashスクリプトでそれを防止したいだけです。 。このスクリプトは他のユーザーのコンピューターで実行されるため、これらの設定を(スクリプトで)変更することはできません。異常終了した場合、変更された設定がそのまま残されるためです(これを行う必要もないと思います)。 実際、この自動表示は一貫していないようです。ターミナルからまったく同じコマンドを実行すると、Nautilusが表示されず、スクリプトに表示されない他のマウントがあることがわかります。これを引き起こす原因は何でしょうか?次にコードの例を示します(どちらも個別のnautilusウィンドウがポップアップする原因になります): mount $dev $target mkdir -p $target/home mount $homedev $target/home マウントがNautilusに信号を送るプロセスと、なぜこれが発生しているのか(ターミナルからパーティションをマウントしても通知されない場合)を理解することに興味があります。そして、これを防ぐための最良の方法は何ですか。 この動作はリリース11.10以降に気付きました(正しく思い出せば)。現在12.04を実行していますが、サポートされているすべてのリリースでスクリプトが機能する必要があります。私は、ソリューションがシステム設定の変更を含む必要があるとは思いません(リリース間で異なる場合があります)。たとえば、(os-proberのような)パーティションをマウントする他のものを見ると、異なるパーティションをマウントするときにポップアップするnautilusウィンドウはありません。 スクリプトはここにあります。そして、これはノーチラスがポップする部分です。ここにも表示されると思いますが、私は最初のリンクにテストを集中してきました。これは、他のマウントの前に呼び出され、ポップしない場所です-最初のマウントを--read-onlyとして、ifステートメント内で書き直したため、違いはありません。 理想的には、答えはこれが起こっている理由とそれを防ぐ方法を説明することです。言い換えれば、スクリプト内mountが端末から発行されたものとは異なる方法で扱われる理由を説明します。すべてのデスクトップ環境(ubuntu、kubuntu、xubuntu、lubuntuなど)をサポートできる、十分に説明された実用的なソリューションであれば、適切な回避策も受け入れられます。また、検証のためのテストの指数関数的な増加も避けたいです。 前もって感謝します ============ papashouのリンクによる解決策: add_udev_rules () { for i in "$dev" "$homedev" "$bootdev" "$usrdev"; do if [ -n "$i" ]; then block=${i#/dev/} echo "KERNEL==\"""$block""\",ENV{UDISKS_PRESENTATION_HIDE}=\"1\"" >> "$wubi_move_dir"/wubi_move.rules fi …