ログインシェルが /bin/bash で、~/.bash_profile ~/.profileが存在している環境で、ログインすると ~/.profileが読み込まれています。~/bash_loginはありません。
自分としては、ログインシェルが /bin/bashで、~/.bash_profileと~/.profileが存在していれば、~/.bash_profileだけが読み込まれるべきと思うのですが、下記の状況でなぜ ~/.profileが読み込まれるのか、わかりませんでしょうか?
$ cat /etc/passwd | grep ${USER} | cut -d: -f7
/bin/bash
$ cat ~/.bash_profile
#########################################
# originally written by OS
[[ -f ~/.bashrc ]] && . ~/.bashrc
# my test
touch ${HOME}/tmp/bash_profile-made-this.file
#########################################
$ cat ~/.profile
#########################################
# originally written by OS
SOME VARIABLES ARE SET.
# my test
touch ${HOME}/tmp/profile-made-this.file
#########################################
(再ログイン後に)
$ ls ~/tmp/
profile-made-this.file
No.2ベストアンサー
- 回答日時:
Lightdmが、そういうbashの起動をしているのでしょう。
ps axfww で、Lightdmからどのようにbashが起動されているか分かります。
ALT + F2 が効くならそのコンソール画面で、
ALT+F2でコンソールが切り替わらないなら、sudo init 3 でGUIをオフにしてコンソールから直接ログインすると、bashの仕様通りになると思います。
No.3
- 回答日時:
lightdmを介さずログインした場合は、.bash_profileだけが実行されたことが確認できたと思います。
> $ ps axfww | less
> 2158 ? SLsl 0:00 /usr/bin/lightdm
それらの子プロセスのbashの行を見ましょう。
> $ ps ax | grep profile | grep -v grep
> なにも出力されない。
これは全く無意味なコマンドだと思いますが、何目的ですかね??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) ログインシェル時のSHELL環境変数 1 2022/06/08 19:21
- UNIX・Linux 実行の仕方及び実行結果が分かりません。 2 2022/11/17 19:31
- 英語 When this factor is combined with the zone between 2 2022/10/10 01:42
- 英語 Oral Health Impact Profile-19 ( OHIP-19) questionn 3 2022/09/26 16:37
- 教えて!goo 「ブロックボタン」がなくブロックできない質問・回答者を偶然見つけました。不思議です。バグですか? 2 2023/07/01 23:56
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- オープンソース php-Laravelのインストールについて 1 2022/08/13 01:08
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
- メルカリ メルカリのフォロワー数について 1 2022/06/25 07:05
- アナウンサー 日本テレビ女子アナベスト10を教えて下さい 2 2022/12/17 08:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バックスラッシュの意味がわか...
-
export と set は違うの?
-
msys(cygwin)で、シェルスクリ...
-
Cシェル内でBシェルの様な関数...
-
シェルの変数をMySQLに送る方法...
-
Solarisでデフォルト環境変数の...
-
違いについて
-
ターミナルが全く入力できない
-
正規表現とワイルドカード
-
lsコマンド部分一致方法
-
シェルとシェルの間で環境変数...
-
.cshrc ファイルについて
-
Dirコマンドでフォルダ内ファイ...
-
TOPコマンドで表示するCPU使用...
-
エクセルの表にヘンな枠が・・・
-
スクリプトのエラー「unexpecte...
-
UNIX コマンドにおける # や円...
-
iqoo neo 9と言うスマホがある...
-
コマンドプロンプトから別マシ...
-
pingは正常なのにtracerouteで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Cシェル内でBシェルの様な関数...
-
export と set は違うの?
-
ターミナルが全く入力できない
-
ubuntuの端末の左にカレントデ...
-
シェルスクリプトで #!/bin/sh ...
-
.cshrc ファイルについて
-
バックスラッシュの意味がわか...
-
シェル 会話形式でエンターキ...
-
『存在するかどうか分からない...
-
シェルスクリプトに関する問題...
-
lsコマンド部分一致方法
-
シェルスクリプトのbashとperl...
-
シェル(ksh)で変数にある文字列...
-
mac os x10.6.4のターミナルでp...
-
Linuxのファイル禁止文字
-
Solarisでデフォルト環境変数の...
-
ps -aのセッションリーダとは
-
csh (tcsh)での環境変数の長さ...
-
Cシェルでのファイルからの入...
-
tcshなのにスクリプト構文中のs...
おすすめ情報
今、2021年5月1日17時22分です。
先ほどPCを起動し、Arch系のManjaro Linuxが起動され、Lightdmのログイン画面からログインし、Xfceデスクトップ環境となりました。
ターミナルソフトを起動し、"ls -s ~/tmp/"とすると、下記となっています。
$ ls -l ~/tmp/
合計 0
-rw-r--r-- 1 user group 0 5月 1 17:20 profile-made-this.file
artoo様、ありがとうございます。
補足の文字数制限により、分割して報告します。
「通常のPC起動でデスクトップ環境に入る時は~/.profileだけが読み込まれ、デスクトップ環境を起動しないログインの時は~/.bash_profileが読み込まれる」と理解しました。
$ ps axfww | less
2158 ? SLsl 0:00 /usr/bin/lightdm
2170 tty7 Ssl+ 0:04 \_ /usr/lib/Xorg :0 -seat seat0 -auth /run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
3047 ? Sl 0:00 \_ lightdm --session-child 12 19
以下、省略
$ ps ax | grep profile | grep -v grep
なにも出力されない。
5月2日7時42分頃に、Android端末からWake On LanにてPCを起動し、sshにてAndroid端末からログインした。
前記でAndroid端末から起動されたPCに、5月2日7時56分頃に、Lightdmから通常のログインした。
$ ls -l ~/tmp/
合計 0
-rw------- 1 user group 0 5月 2 07:42 bash_profile-made-this.file
-rw-r--r-- 1 user group 0 5月 2 07:56 profile-made-this.file
5月2日8時8分頃に、Alt+F2でコンソール画面としてログインした。
$ ls -l ~/tmp/
合計 0
-rw------- 1 user group 0 5月 2 08:08 bash_profile-made-this.file
-rw-r--r-- 1 user group 0 5月 2 07:56 profile-made-this.file
5月2日8時41分頃、Android端末からWake On LanにてPCを起動し、sshにてAndroid端末からログインし、Android端末から "$ ls -l ~/tmp/"を実行した出力
$ ls -l ~/tmp/
合計 0
-rw------- 1 user group 0 5月 2 08:41 bash_profile-made-this.file
-rw-r--r-- 1 user group 0 5月 2 07:56 profile-made-this.file
umaskは ~/.bashrcで 0077にしています。
~/.bashrcは~/.bash_profile内で読み込まれる設定となっています。
補足の文字数制限のため出力を掲載できませんが、"ps axfww"で表示される/usr/bin/lightdmの子プロセスにbashが表示された行は無いです。
psコマンドでのbash関連行は次のものですが、"ps axfww"を実行するためにデスクトップ上でターミナルを開いた時のbashと思います。
2147 ? Sl 0:06 /usr/bin/xfce4-terminal
2153 pts/0 Ss 0:00 \_ bash
2370 pts/0 R+ 0:00 \_ ps axfww
"$ ps ax | grep profile | grep -v grep"は「~/.bash_profileや~/.profileの痕跡がないか」と思ってやってみましたが、確かに無意味でした。