複数のDEで遊んでみたいので、起動時にこれを実行したかったのです。このスクリプトをファイルから実行すると、Dockyは実行されません。
プログラムとして実行できるように、ファイルのアクセス許可を既に変更しました。
これをgnome-terminalに正確に入力すると、gnome-classicにログインしている場合はDockyが実行されます。 DockyがUnityで起動しないように、起動時にこのスクリプトを実行したかったのです。
if [ $DESKTOP_SESSION == "gnome-classic" ] ; then docky ; fi
助言がありますか?同じファイルにFirefoxのようなものを書いてみたところ、Firefoxが起動します。したがって、ファイルから次のスクリプトを実行すると...
cd /home/user/Desktop
mkdir ITRAN
if [ $DESKTOP_SESSION == "gnome-classic" ] ; then docky ; fi
デスクトップに新しいファイルを作成しますが、実行するターミナルウィンドウに同じコードをコピーしただけでも、Dockyは実行されません...
Geirhaの助けを借りて、私はスクリプトを変更しました。ただし、Unityまたはgnome-classicのどちらのDEを実行しても、dockyが起動するようになりました。
#!/bin/sh
if [ $DESKTOP_SESSION = "gnome-classic" ]; then
docky
fi
私も試しました
$DESKTOP_SESSION = "gnome-classic"
$DESKTOP_SESSION = gnome-classic
"$DESKTOP_SESSION" = gnome-classic
"$DESKTOP_SESSION" = "gnome-classic"
私がその部分を間違っていた可能性を排除するために。
[
コマンドには==
演算子がありません。 Bashはそれを許可しますが、ダッシュはしわがれます。使用する正しい演算子は=
です。質問に投稿したスクリプトにはシバンがないため、sh
によって実行される可能性があります。そう:
#!/bin/sh
mkdir -p "$HOME/Desktop/ITRAN"
if [ "$DESKTOP_SESSION" = gnome-classic ]; then
docky
fi
とにかく、失敗した場合は、~/.xsession-errors
にエラーメッセージが表示される可能性が高いので、そこに手がかりを探してください。
スクリプトが次で始まることを確認してください。
#!/bin/sh
さらに、スクリプトが実行可能であることを確認してください。
chmod a+x path/to/your/script.sh