web-dev-qa-db-ja.com

.desktopショートカットは、ドックに追加されたときに異なる動作をします

カスタム.desktopファイルを作成して、お気に入りの端末Tilixを好みのセッションで起動しました。ファイルは、ExecおよびDBusActivatable行を除いて、デフォルトと同じです。

~/.local/share/applications/com.gexperts.Tilix.desktop(i18n行は省略):

[Desktop Entry]
Version=1.0
Name=Tilix
Comment=A tiling terminal for Gnome
Keywords=Shell;Prompt;command;commandline;cmd;
Exec=tilix -s /home/phydeaux/.tilix/Default.json
Terminal=false
Type=Application
StartupNotify=true
Categories=System;TerminalEmulator;X-GNOME-Utilities;
Icon=com.gexperts.Tilix
DBusActivatable=false
Actions=new-window;new-session;

[Desktop Action new-window]
Name=New Window
Exec=tilix --action=app-new-window

[Desktop Action new-session]
Name=New Session
Exec=tilix --action=app-new-session

次に、このショートカットを検索し、「お気に入りに追加」を使用して、このショートカットをドックに追加しました。

17.10にアップグレードするまで、これは正常に機能しました(両方ともGNOME 16.04および17.04)。ドックのショートカットをクリックすると、Tilixが開きますwithout my session(つまり、デフォルトの動作)。

アクティビティで「Tilix」を検索してそのショートカットをクリックすると、または Nautilusの~/.local/share/applications/に移動して.desktopファイルをダブルクリックすると、Tilix私のセッションで常に実行されます。不要な動作が発生するのは、お気に入りにショートカットを追加したときだけです。

何がこれを引き起こす可能性があり、どのように修正できますか?


更新1Exec行を絶対パスに変更しても効果がなく、カスタムシェルスクリプトも使用できません。

更新2Exec行をbothに変更しましたカスタムファイル(~/.local/...)でおよびでオリジナル/usr/...からExec=geditまで、何が起こるかを確認します。 Nautilusまたは検索からファイルを実行すると、期待どおりにGeditが開きますが、ドック内のバージョンでもTilixが開きます!どうすればこれを行うことができますか?

更新~/.local/.../com.phydeaux.Tlx.desktopという新しいファイルを追加しました。Name=Tlx以外は上記と同じ内容です。これをドックから実行すると、必要に応じてセッションでTilixが開かれるため、これは(愚かな)回避策としては十分です。 ただしName=TlxからName=Tilixに変更すると、その後名前をTlxに戻しても、不要な動作が戻り、持続します。これを行うと、ショートカットファイルが何らかの形でTilixアプリケーションに「関連付け」られますか? GNOMEは、そのアプリケーションを実行する「適切な」方法を知っていると思いますか?これはD-Busと関係がありますか?

更新4:18.04でも問題。 /usr/share/dbus-1/services/からTilixのサービスファイルを削除しても解決しません。

4
Phydeaux

~/.local/share/applications/com.phydeaux.Tlx.desktopを除いて元のコンテンツと同一の完全に新しいショートカットファイルName=Tlxを追加し、そのショートカットをドックに追加すると、私にとって望ましい動作に近いものが得られます。

これでセッションでTilixが正常に開きますが、ドックの別のアイコンの下にウィンドウが開き、別の名前で表示されます(名前をTilixに変更すると、不要な動作に戻ります)。

2
Phydeaux