web-dev-qa-db-ja.com

GNOMEでのみプログラムを自動起動する方法

私はGNOMEとKDE SCの両方を使用しています。 GNOMEでは、Dockyを使用しますが、KDEでは使用しません。したがって、KDEではなくGNOMEにログインしたときにのみDockyを起動したいと思います。 KDEには、KDEでのみプログラムを自動起動するオプションがあります。しかし、GNOMEにはそのようなオプションはありません。

これどうやってするの?

前もって感謝します。

14
ricky

~/.config/autostartのスタートアップオブジェクトを編集し、これを最後に追加できます。

OnlyShowIn=GNOME

オプションの名前は貧弱ですが、KDEがアプリケーションを起動しない原因になります。

14
Ressu

これを確認するためにkdeをインストールしていませんが、システム->設定->セッション->スタートアッププログラムはgnome固有です。

それが機能しない場合は、環境変数$ DESKTOP_SESSIONの値をチェックするラッパースクリプトにプログラムを常に配置できます。このようなもの:

#!/bin/bash
if [ $DESKTOP_SESSION == "GNOME" ];then
        myApplication
fi

これがあなたの質問に答えることを願っています!

3
jclu

プログラムを起動するエントリが見つからない場合は、代わりに/etc/xdg/autostartでも見つけることができます。 OnlyShownIn設定を使用してKDEで起動するNautilusが最終的に修正されたことを知っています。このディレクトリのファイルの変更はシステム全体で行われるため、問題のあるアプリケーションのファイルを~/.config/autostart/にコピーすることをお勧めします。

OnlyShownInを使用する代わりに、NotShownInも使用できます。これにより、1つのデスクトップ用ではなく、他のすべてのデスクトップ用に表示することができます。この例では、次を使用して、KDEを除くすべてのデスクトップマネージャーにDockyをロードできます。

NotShownIn=KDE;

デスクトップで起動したくない場合は、OnlyShownIn=;に変更できます。desktopファイルの行はセミコロンで終わることになっています。セミコロンは、同時に複数の値を取る設定の値を区切るためにも使用されます。

このトリックは、何かがまったく実行されないようにするために、使用するすべてのデスクトップシェルをリストする必要があることを意味します。したがって、Unityのみをインストールしている場合はNotShownIn=Unityを使用しても問題ありませんが、後でKDEまたはGnomeをインストールした場合は引き続き起動します。

ユーザーの自動起動フォルダー内のデスクトップファイルがアプリケーションの起動を停止しない場合、xdgディレクトリ内のデスクトップファイルを処理する必要があります。このために、ファイルのバックアップコピーを作成します。 bak拡張機能や後で上書きされる可能性のある標準でコピーする代わりに、この例ではbadappと呼ばれる架空のアプリケーションに対してこれを行います。

Sudo cp /etc/xdg/autostart/badapp.desktop /etc/xdg/autostart/badapp.desktop.stop

その後、元のデスクトップファイルを編集できます。何かが壊れて、テキストブートで起動してしまう場合は、ファイルの名前を元の名前に戻すことができます。

Sudo cp /etc/xdg/autostart/badapp.desktop.stop /etc/xdg/autostart/badapp.desktop

また、KDEのデフォルトのユーザー自動起動フォルダーは~/.kde/Autostart/です。これは、KDEがKDEの方法で処理を行うためです。

1
Thomas Sisson

System > Preferences > Startup Applicationsこれは、KDE ​​Startup ManagerのGnomeの代替です。

0
Marco Ceppi

自動起動ファイルを編集するもう1つの方法は、次のような行を使用することです。

OnlyShowIn=GNOME;Unity;
0
chrisonbuntu