
Ubuntu日本語フォーラム
ログインしていません。
環境は、Ubuntu16.4
やった事を書きます。
/etc/rc.localファイルに下記の2行を追加しました。
つまり、毎回起動時に、この2行を自動実行してくれるようにしたいのです。
cd /
cd vagrant
chmod u+x して権限を実行可能にしています。
cat /lib/systemd/system/rc-local.service を作成しました。
sudo systemctl enable rc-local をして実行可能にしました。
systemctl list-unit-files | grep rc で、rc-localがenableになっている事が確認されます。
これをやれば、OS起動時に、rc.localが実行されるものと思っているのですが、どうも実行されていないようです。
他に何か必要な事があるのか、間違った手順があるのでしょうか。
アドバイスをお願いいたします。
オフライン
実行権限の付与などは正しいと思います。
rc.local の1行目にシェルのパスは書いてありますか?
#!/bin/bash cd / cd vagrant
---
ところで、起動時にただディレクトリを移動しているだけにみえるのですが、どのような処理の結果が期待されるのでしょうか。
「動作しない」とは、どのような結果にならないためにそう判断されていますか?
オフライン
ご回答ありがとうございます。
#!/bin/bashのシバンは記述しております。
Ubuntuが起動した時に、デフォルトでホームディレクトリにカーソルがセットされるのですが、
cd /
cd vagrant
とこの2つのコマンドをいちいち入力したなくても、OS起動後に、/vagrantディレクトリにカーソルを初期セットさせたいと思っております。
オフライン
mikan_mikan による投稿:
Ubuntuが起動した時に、デフォルトでホームディレクトリにカーソルがセットされるのですが、
cd /
cd vagrant
とこの2つのコマンドをいちいち入力したなくても、OS起動後に、/vagrantディレクトリにカーソルを初期セットさせたいと思っております。
それは rc.local ではできません。
rc.local にはユーザーがログインする前、システムの起動直後に実行する処理を記述します。
ログイン時の処理は、~/.login (または ~/.bashrc) に記述します。
オフライン
そうなのですね、知りませんでした。
ご回答ありがとうございます。
~/.bashrc に記述すると上手くいきました。
ちなみに、自分の環境では、~/.login がデフォルトで存在していませんでした。
オフライン
自分の投稿に間違いを見つけたので訂正です。
~/.login などというファイルは使われません。
正しくは「ログイン時の処理は、~/.bash_profile または ~/.bash_login または ~/.profile または ~/.bashrc に記述します。」です。
ユーザー ログイン後に実行されるコマンド シェル (bash) が起動するときに実行されるスクリプト ファイルについては以下に書かれています。
起動 - Man page of BASH
オフライン