web-dev-qa-db-ja.com

Gnome Shell:セッションの開始後にシェルスクリプトを実行していますか?

私は長い間KDEを使用しており、Mandrake Linux 10かもしれないのでGNOMEを見たことはありません。昨日、YouTubeでGNOME Shellを見て、一見の価値があると思いました。

それは実際には価値がありますが、私は一瞬を理解することができません。

私は、KDEラップトップインストールで古くから実行されていたシェルスクリプトを持っています。

synclient |grep -E 'TapT|RightB|EdgeScr'|awk '{print $1}'|while read item; do synclient $item=0; done
synclient VertScrollDelta=-111
synclient HorizScrollDelta=1
synclient RightEdge=999999999
synclient TopEdge=0
synclient CircularScrolling=0
synclient BottomEdge=999999999
synclient RightButtonAreaLeft=9999999
synclient ClickFinger3=2
synclient HorizScrollDelta=0
synclient HorizTwoFingerScroll=0 

これにより、右クリック、すべてのタップ、スクロール方向の反転、水平スクロールなどが無効になります。タッチパッドメニューもKDEもgnomeはこの種の設定を許可していません。 (TBH、すべてのオペレーティングシステムのMacだけが、そのようにタッチパッドを設定するためのGUIを持っています:))。

理解できません。gnomeShellセッションの開始後にこれを実行するにはどうすればよいですか?私はすでにこれを試しましたが結果はありません:

[1] % cat /home/neko/.config/autostart/script.desktop 
[Desktop Entry]
Name="Auto stuff"
GenericName="Auto startup stuff"
Comment="Synclient mostly"
Exec=/home/neko/bin/auto_stuff.sh
Terminal=false
Type=Application
X-Gnome-Autostart=true

他に何か提案がありますか?ありがとうございました。

9
Mikhail Krutov

プログラムgnome-session-propertiesを使用できます。シェルプロンプト(gnome-terminal)から実行するだけです。

$ gnome-session-properties

これにより、起動プログラムを構成(つまり、追加、編集、削除、有効化、無効化)できるGUIが開きます。

簡単です。楽しい。

更新:以下のコメントのdon_crissti(ありがとう)で述べられているように、gnome-session-propertiesスタートアッププログラム機能は、Gnome 3.12以降、gnome-Tweak-toolに移行しました(これは優れたツールですが、ただ集中しているので少し面倒です)関数が多すぎます)。したがって、バージョン3.12以降の場合、これは新しい場所です。

OBS:ところで、この方法を使用すると、.desktopファイルを作成する必要はありません。作成した/home/neko/bin/auto_stuff.shスクリプト(またはその他のスクリプトやコマンド)のコマンドラインを指定するだけで済みます。 )。

7
Marcelo

.desktopファイルでは、 大文字と小文字は区別されます です。次のテンプレートは、GNOME Shellを備えたFedora 27で機能します(つまり、Exec=値はセッションの開始時に実行されます)。

[Desktop Entry]
Encoding=UTF-8
Exec=/path/to/myscript arg1
Name=myscript
Comment=script some stuff
Terminal=false
OnlyShowIn=GNOME
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=true

$HOME/.config/autostart/myscript.desktopとして保存されます)

主な違い:例ではキーX-Gnome-Autostart=を使用しました。

スクリプト/path/to/myscriptが実行可能かどうか、つまり、ex実行可能権限ビットが設定されているかどうかを再確認してください。

OnlyShowIn=はおそらく自動起動機能にとって重要ではありませんが、それなしではテストしていません。次のように複数のデスクトップ環境を一覧表示できます。OnlyShowIn=GNOME;LXDE;Unity;XDG_CURRENT_DESKTOP環境変数を調べて、正しい値を確認します。

スクリプトがエラーメッセージを出力するかどうかを確認する場合は、journalctl --user、つまりセッションジャーナルを確認できます。

2
maxschlepzig