Nautilusで複数のPDF文書を選択し、キーを押すとEnter
すべて開きますが、順序はランダムです。これらの文書が開く順序はどのように決定されますか? Nautilusに表示される順序で開く方法はありますか?
ファイル名は1から7までリストされ、最後の変更日もその順序に従います。ただし、すべて開いている場合、トップウィンドウはFile 4、File 5、File 2、File 7などになります。
答え1
彼らは並列に開きます。nautilus
できるだけ多くのプロセスが作成され(ここでの順序は重要ではありません)、各プロセスはファイルの1つを引数として使用してPDFビューアを実行します。
これらのPDFビューアはすべて独立して動作し、共有ライブラリをロードし、独自のPDFファイルを開き、Xサーバーに接続し、ある時点でXサーバーにウィンドウを表示するように要求します。どちらが先にするかは制御できません。
注文を保証するには、Windows管理者の協力が必要です。次のウィンドウを実行する前に、最初のPDFビューアウィンドウが表示されたときにウィンドウマネージャに通知するように要求するには、Nautilusが必要です。
他のアプリケーションと同様に、これを確実に実行するのは簡単ではありません。nautilus
PDFビューアを実行するために作成されたプロセスのpidのみが知られています。すべてのアプリケーションがウィンドウマネージャに自分のpidを知らせるわけではなく、もしそうなら、生成されたプロセスの子pidである可能性が最も高いかnautilus
(シェルスクリプトの場合)ウィンドウをまったく生成しない可能性が高いです。
答え2
Nautilusでファイルを選択する代わりに、ディレクトリ内の項目の物理的な順序(確認ls -lU
)またはファイルの日付(ls -lt
)に基づいて順序を決定できると思います。
ただし、順序がわからない場合(試行するたびに異なる)、プロセスとI / Oスケジューラによっては、ビューアプロセスがコンテンツを開いて読み取り、レンダリングするのにかかる時間があります。
決定的な順序を強制するために決定要因の場合は、物理順序/ファイル時間を変更できます。または、これを実行するスクリプトを作成し、Nautilusからファイルのリストを取得して使用しますsort
。for
sleep
プロセスが開始されるまで待つメカニズムを開発し、このMIMEタイプに対してNautilusが提供するアプリケーションの代替として追加しました。 2番目のオプションがより安定している可能性があります。