Ubuntuにログインするときにシェルスクリプトを自動的に実行する方法


15

ログイン時に自動的に実行されるスクリプトを取得するにはどうすればよいですか?マシンの起動時ではなく、すべてのユーザーではなく、私(またはスクリプトを使用する特定のユーザー)がGNOME UIを介してログインするときだけです。

他の場所を読んで、私はそれが.bash_profile私のホームディレクトリにあると思いましたが、私には効果がありません。入力してターミナルウィンドウで手動で実行すると~/.bash_profile機能しますが、ログインしても自動的に実行されません。

Ubuntu 11.04を実行しています。.bash_profileのファイル許可はです-rwx------。今日作成する前は、ホームディレクトリに.bash_profileはありませんでした。

Linuxの古いバージョンは.profileユーザーごとにファイルを持っていることを覚えているようですが、それも機能しません。

どうやって?.bash_profileを機能させるには、何か他のものを構成する必要がありますか?または、ユーザーごとのログインスクリプトを他のファイルに含める必要がありますか?


.bash_profile、.profile、および.bashrc(これは、ubuntuが実際に使用するものです)は、bashターミナルを開くたびにロードされます。したがって、実際にGDMにログインしただけでロードされるかどうかはわかりません。
フアンセバスチャントテロ

Ubuntuバージョンを投稿すると役立つ場合があります。Ubuntu 10.10では、.bashrcは「works for me(TM)」です。
Vlueboy

GUIまたはシェルにログインするということですか?
Flimzy

bashは、新しいシェルを起動するときにそれらをロードするため、Gnome(GDM)にログインするときではなく、ターミナルウィンドウを開くか仮想ターミナルにログインするときにのみロードされます。
shiftycow

元の質問で述べたように、Ubuntu 11.04を使用しています。
マイクロウェーブ

回答:


11

次のコマンドを[システム]> [設定]> [起動アプリケーション]に追加するだけです。

bash /full/path/to/your/script.sh

それはトリックを行う必要があります;)


前にそれをやったのですが、スクリプトのパスの前に「bash」を書いていないことを除けば、うまくいきませんでした。後でbashで試してみます。好奇心から、GUIを介してスタートアップアプリケーションに何かを入力すると、どのファイルに登録されますか?
マイクロウェーブ

スタートアッププログラムを登録する必要があります/etc/xdg/autostart
shiftycow

bash /home/myusername/scriptname「スタートアップアプリケーション」への追加が機能しました。ありがとう。ただし、これはUbuntu上のGNOMEに固有のものである可能性があります。そのため、「Startup Applications」メニュー項目のエントリがどこに登録されているのか疑問に思いました。
マイクロウェーブ

2
/etc/xdg/autostartユーザー固有ではない、システム全体のファイルのようです。
マイクロウェーブ

ubuntuの以降のバージョンについては、askubuntu.com
questions /

8

基本的に、nodisccが示唆したように、デスクトップランチャーを作成します:〜/ .config / autostart / script.desktopを次の内容で:

[Desktop Entry]
Type=Application
Name=Autostart Script
Exec=autostart
Icon=system-run
X-GNOME-Autostart-enabled=true

次に、自動起動スクリプトを作成します:〜/ bin / autostartとbashの内容:

#!/bin/bash
# Execute bash script below

〜/ bin / autostartが実行可能であることを確認してください


5

crontabに行を追加できます-

crontab -e

次に、開くファイルに次の行を追加します。

@reboot /path/to/your/cool/script

これにより、再起動時にスクリプトが実行されます。詳細についてはman crontab


理由はわかりませんが、「起動アプリケーション」で.shファイルを実行できません。したがって、これを行う最も簡単な方法はcronです
アルバートカタラ


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.