Linux Mint 14では、スタートアップアプリケーションからスクリプトを実行しても機能しませんが、ターミナルからは機能します。

Linux Mint 14では、スタートアップアプリケーションからスクリプトを実行しても機能しませんが、ターミナルからは機能します。

セッションの開始時に Intuos タブレットをセットアップするためのスクリプトを作成しました。

#!/bin/sh

xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelUp "key ctrl minus";
xsetwacom set "Wacom Intuos4 4x6 pad" AbsWheelDown "key ctrl plus";
xsetwacom set "Wacom Intuos4 4x6 pad" Button 1 "key ctrl 0"; #touchring button

xsetwacom set "Wacom Intuos4 4x6 stylus" Button 2 3;
xsetwacom set "Wacom Intuos4 4x6 stylus" Button 3 2;
xsetwacom set "Wacom Intuos4 4x6 stylus" TabletPCButton on;

~/bin/.wacomsetup.sh実行中として保存しましたchmod a+x ~/bin/.wacomsetup.sh。プロパティを確認すると、プログラムとして実行することは許可されていますが、私のユーザー アカウントではファイルの読み取り/書き込みしかできないことがわかります。

を使用してターミナルから実行すると動作することを確認しましたsh ~/bin/.wacomsetup.shが、スタートアップ アプリケーションの新しいエントリにコマンド エントリとしてパスを入力すると (これは Cinnamon に固有のものですか?)、ログイン/再起動後にスクリプトが実行されません (手動で実行する必要があります)。

スタートアッププログラムの編集:
名前:Setup Wacom Intuos
コマンド:sh ~/bin/.wacomsetup.sh
コメント:ksdfk

この方法で起動時にスクリプトを実行できるようにするには、スクリプトに適用する必要がある別の権限がありますか?

ありがとうございます
(もっと良いタグがあれば、この質問をより適切に再タグ付けしていただけるとありがたいです)。

答え1

試してみることがいくつかあります:

  1. スタートアップアプリケーションのパスの「~」をホームフォルダへの絶対パスに置き換えます(例/home/whateveryourusernameis:)

  2. パス内の は不要なので削除してくださいsh。スクリプトが実行可能である限り (DACL に "x" ビットが設定されている場合)、#!/bin/shスクリプトの先頭の はそれがシェル スクリプトであることを検出し、シェル インタープリターを自動的に起動してコマンドを実行します。

  3. スクリプトを に移動して/usr/bin世界読み取りおよび実行可能であり、Command:スタートアップ アプリケーションの を に設定していますwacomsetup.sh。ただし、スタートアップ アプリケーションはログイン後にユーザー アカウントで実行され、Xorg はすでに起動されているはずなので、この手順は必要ないと思います...

  4. 問題はスクリプトではないことを確認するために走るしかし、何らかの理由でコマンドが実行に失敗します。スクリプトの先頭の行の下に#!/bin/sh、次を追加してみてください: echo scripted > ~/scripted(他の用途でその名前のファイルが既にある場合は、「scripted」の部分を変更してください)。次に、そのファイルが存在しないことを確認し、ログオフ/ログインして、そのファイルに書き込まれるかどうかを確認します。書き込まれない場合は、スクリプトが実行されていません。そのファイルが表示される場合は、スクリプトは実行されていますが、呼び出しxsetwacomが失敗しています。

答え2

「スタートアップ アプリケーション」が何を意味するのかよくわかりません。GUI フロントエンドのことだと思います。どこで見つけましたか?

とにかく、 に新しい .desktop ファイルを追加してみましたか~/.config/autostart? 次のようになります:

[Desktop Entry]
Name=wacomsetup
Type=Application
Exec=/home/your_user/bin/.wacomsetup.sh
X-GNOME-Autostart-enabled=true
Comment=Blah blah
Hidden=false

たとえば、次のように保存し、wacomsetup.desktopログアウトして再度ログインします。

関連情報