Debian 8のGnomeデスクトップでテキストファイルがダブルクリックされるたびに、geditに既存のgeditウィンドウとは別に新しいウィンドウを開かせるにはどうすればよいですか?


9

geditDebian 8、JessieのGnomeデスクトップでテキストファイル(.txt)をダブルクリックしたときに、既存のgeditウィンドウとは別に新しいウィンドウを開くように強制するにはどうすればよいですか?

a.txtがすでにgeditウィンドウで開いていて、b.txtがDebian 8 JessieのGnomeデスクトップでダブルクリックされているとします。その後、残念ながら、工場出荷時のデフォルトでは、b.txtはa.txtと同じウィンドウのタブで開かれます。

ただし、b.txtgeditの新しいウィンドウで開いて、a.txtの既存のウィンドウとb.txtの新しいウィンドウの2つのウィンドウがあるようにしたいと思います。

Gnomeが次のように「-s」オプションを指定してgeditを呼び出した場合

gedit -s b.txt

次にb.txt、a.txtは既存のウィンドウにとどまったまま、新しいウィンドウで開きます。

ただし、デフォルトでは、Gnomeは「-s」オプションなしでgeditを呼び出すようです。

設定ファイル

/usr/share/applications/org.gnome.gedit.desktop

実行ディレクティブが含まれています

Exec=gedit %U

だから、私はそれを

Exec=gedit -s %U

次のコマンドで、コンピュータを再起動しました。

cd /usr/share/applications
su # similar to sudo
mv org.gnome.gedit.desktop org.gnome.gedit.desktop.bak
perl -pe 's/Exec=gedit %U/Exec=gedit -s %U/' org.gnome.gedit.desktop.bak > org.gnome.gedit.desktop
diff org.gnome.gedit.desktop org.gnome.gedit.desktop.bak

ただし、このメソッドは失敗しました。b.txtは、a.txtと同じウィンドウのタブで開きます。ハマった。あなたの助けが必要です。

geditのデフォルトモードは「単一ウィンドウ、複数タブ」です。「複数ウィンドウ」モードが必要です。

ちなみに、次の役に立たないメソッドは、geditを「単一ウィンドウ、タブなし」モードに変更しますが、これは私が望むものではありません。

gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'

この「gsettings」メソッドを使用すると、デスクトップ上でb.txtをダブルクリックすると、geditがa.txtを自動的に閉じ、a.txtの既存のウィンドウを再利用してb.txtを開きます。したがって、これは(「複数ウィンドウ」とは対照的に)「単一ウィンドウ、タブなし」モードです。

(ちなみに、「show-tabs-mode」のデフォルト値は「auto」です。)


@donランチャーに慣れていません。別のランチャーを呼び出すコマンドは何ですか?
i7pj3qnuz 2017

回答:


5

Exec.desktopファイルのキーの変更が機能しなかった理由は、geditがDBusでアクティブ化されているためです。これは、セッションのDBusデーモンを介して起動され、そのような起動可能なプログラムが開くファイルを指定するための共通のDBusインターフェースを提供することを意味します。これを防ぐには、DBusActivatableキーをに変更しますfalse

また、変更したい.desktopファイルのコピーをホームディレクトリに作成し、それを使用してシステム全体のファイルを上書きするのは、システム全体のファイルを直接変更するよりもはるかに優れています。そうすれば、ディストリビューションパッケージの更新時にシステムが上書きされることはありません。これを行うには、にコピー/usr/share/applications/org.gnome.gedit.desktop~/.local/share/applications/org.gnome.gedit.desktopます。このパス内のファイルは、システム全体のディレクトリにある同じ名前のファイルを上書きします。

次に、新しいウィンドウを開くために使用される2つのフラグの間に重要な違いがあります:--new-windowまたは-s。どちらの場合も、ファイルは新しいウィンドウで開かれますが、-s各ウィンドウは独自のプロセスに属します。--new-windowすべてのウィンドウを使用する場合、同じgeditプロセスを共有します。

そして最後に、ファイルマネージャーで複数のファイルを選択して開いた場合にもこれが機能することを確認するには、Execキーの別の変更が必要です。これ%Uは、このコマンドの引数として複数のURLが許可されることを意味します。つまり、ファイルマネージャは次のように起動しますgedit --new-window file1.txt file2.txt。これにより、2つのタブを持つ単一の新しいウィンドウが表示されます。これを%u今に変更すると、ファイルマネージャーに、アプリケーションは単一のURLのみを引数として受け入れるため、異なるファイルを引数としてコマンドを複数回実行することになります。詳細については、freedesktopデスクトップエントリの仕様を参照してください。


0

セバスチャンの回答に基づいて、以下を実行します。

  1. gedit構成のローカルコピーを作成します。行った変更は、現在のユーザーにのみ適用されます。

    cp /usr/share/applications/org.gnome.gedit.desktop〜/ .local / share / applications / geditNewWin.desktop

  2. 〜/ .local / share / applications / geditNewWin.desktopファイルで:すべてのEXEC=行に移動し(数行あります)、それらをに設定しますExec=gedit -s %U。さらにに変更Name=Text EditorName=Text Editor (new window)ます。

  3. Nautilusファイルマネージャー(Gnomeの標準ファイルマネージャー、しばしば「ファイル」またはGnomeファイルと呼ばれる)で、ファイルタイプ(.txt、.csvなど)を新しく作成したアプリケーションに関連付けます。

    • .txtファイル(または任意のファイルタイプ)を右クリックします。
    • 「プロパティ」をクリックします
    • [開く]タブを選択しました
    • リストから「テキストエディター(新しいウィンドウ)」を選択します
    • 「デフォルトとして設定」をクリック
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.