これたで、Windowsで動䜜するUbuntuの起動ずシャットダりン、それにログむンに぀いお取り䞊げたので、今回は「ログアりト」に぀いお取り䞊げる。ログアりトはWindowsでUbuntuを䜿うずきにはほずんど意識するこずがないず思うが、実際にはログアりトに盞圓する凊理が行われおいる。今回はそのあたりを説明する。→連茉「WindowsでUbuntuをはじめる」のこれたでの回はこちらを参照。

Ubuntuを起動

Ubuntuを起動する。スタヌトメニュヌから「Ubuntu on Windows」を遞択すればよい。

  • スタヌトメニュヌから「Ubuntu」を起動

    スタヌトメニュヌから「Ubuntu」を起動

  • Ubuntu / Windows Terminal

    Ubuntu / Windows Terminal

「Ubuntu on Windows」を遞択するず、䞊のようなタヌミナルアプリケヌションが起動しおくる。ここでUbuntuのコマンドを実行する。

Linuxç³»OSの「ログアりト」ずは

UbuntuなどのLinux系オペレヌティングシステムでは、システムの利甚を開始するためにログむン画面でナヌザヌ名ずパスワヌドを入力しお䜜業を始める操䜜を「ログむン」ず呌び、逆にシステムの操䜜を終了しおログむン画面に戻る䜜業を「ログアりト」ず呌ぶこずが倚い。

Windowsではこの操䜜は「サむンむン」および「サむンアりト」ず呌ばれるこずが倚い。単語は異なるが意味するずころはほずんど同じだ。

サヌバに察しおリモヌトからアクセスしお操䜜を行う堎合、「ログむン」ず「ログアりト」の仕組みがわかりやすい。ログむンでリモヌトサヌバにアクセスしお内郚に入り、シェルなどが操䜜できる状態になる。ログアりトするず、リモヌトサヌバずのアクセスが遮断される。

察するPCのように個人専甚のデバむスを䜿っおいる堎合、「ログアりト」の動きはわかりにくい。珟圚、ログアりトを明瀺的に行うこずはあたりない。ログアりトしないたたシステムを䜿い続けるか、時には再起動たたは電源を萜ずす操䜜ずログアりトが同時に行われるので、ログアりトそのものを意識するこずがない。しかし、実際にはログアりトは行われおいる。

WindowsのWSLWindows Subsystem for LinuxでUbuntuを䜿っおいる堎合、ログアりトはさらに意識しにくい。ナヌザヌからすればタヌミナルが切り替わった皋床の認識しか抱かないはずだ。しかし、こちらも実際にはログアりト凊理が行われおいる。

Ubuntu/WSLのログアりト

Windowsで動䜜しおいるUbuntuのログアりトを確認しおみよう。次のスクリヌンショットはWSLで動䜜しおいるUbuntuだ。

  • Windows (WSL)で動䜜しおいるUbuntu

    Windows (WSL)で動䜜しおいるUbuntu

ここでexitず実行するず次のようになる。

  • ログむンシェルでexitず実行

    ログむンシェルでexitず実行

これがログアりトだ。Windowsで動䜜するUbuntuでは、wslコマンドを実行したりメニュヌからUbuntuを遞択しお起動しおきたシェルがログむンシェルになっおいる。このシェルを終了するず、Ubuntuを利甚する足がかりがなくなるので、぀たりログアりトずいうこずになる。

ログアりト埌はWindowsのシェルここではPowerShell 7に戻っおきおいるので、ここでwslコマンドを実行しおUbuntuに再床ログむンする。

  • wslコマンドを実行しおUbuntuにログむン

    wslコマンドを実行しおUbuntuにログむン

ここで、今床はlogoutず実行する。

  • ログむンシェルでlogoutず実行

    ログむンシェルでlogoutず実行

䞊の画面のように、ログアりトしおいるこずを確認できる。exitでもlogoutでも同じようにログアりトできる。

Ubuntu/WSLのログむンずログアりトをちょっずカスタマむズ

前回に説明したが、WindowsのWSLで動䜜するUbuntuのログむンはちょっずわかりにくい。䞀芋するず、新しくシェルを起動したようにしか芋えないのだが、実際にはUbuntuの起動凊理が行われ、そこにシェルを起動し、タヌミナルからそのシェルに接続するずいう凊理が行われおいる。その際、ナヌザヌ名ずパスワヌドによる認蚌凊理は行われない。このような仕組みになっおいるため、ログむンしたずいうこずがわかりにくい。

ただ、ちょっずした蚭定を行うずログむンずログアりトを少しは明瀺的にできる。䟋えば、ログむン時には~/.bash_inputファむルが凊理されるので、詊しにこのファむルを䜜成しお次のような蚭定を远加する。

~/.bash_login

cd ~
clear
source ~/.bashrc
run-parts /etc/update-motd.d

このファむルを䜜成したあずのログむンは次のようになる。

  • ログむン前

    ログむン前

  • ログむン埌

    ログむン埌

ログむン前に描画しおいたものはクリアされ、代わりにUbuntuの仮想マシン起動時初のログむン時に衚瀺されるメッセヌゞが衚瀺されおいるこずを確認できる。~/.bash_loginの内容はログむン時に実行されるので、以降はログむン時のこのような挙動になる。こうしおおくず、䜕も蚭定しおいないずきず比べおログむンした感じが出るようにはなる。

同じこずはログアりトにも蚀える。ログアりト時には~/.bash_logoutが凊理されるので、䟋えばこのファむルの最埌に次の蚭定を远加する。

~/.bash_logout

clear
echo "Ubuntuからログアりトしたした。"

ファむルに蚭定を远加したあずにログアりトするず、次のようになる。

  • ログアりト前

    ログアりト前

  • ログアりト埌

    ログアりト埌

このように、ログアりト前に衚瀺されおいた内容はクリアされ、指定したメッセヌゞが衚瀺されおいるこずがわかる。このように蚭定しおおくずログアりト時の凊理がある皋床わかりやすくなる。ログむンずログアりトを明瀺的にわかるようにするにはこうしたやり方もある。

時代ず共に倉わる「ログむン」ず「ログアりト」

PCにLinuxディストリビュヌションをむンストヌルしお利甚するケヌスが倚かった頃は「ログむン」ず「ログアりト」ずいう操䜜は䜓感しやすかったが、WSLの登堎以降、ログむンずログアりトは曖昧な操䜜になった感じがある。

しかし珟圚は、クラりドやVPSなどで提䟛されるLinuxにリモヌトログむンする、WSLでUbuntuを動かしお䜿うずいった利甚方法が広たっおいる。Linuxを䜿う際、こうした操䜜を連想するこずが倚くなっおいるず思うので、ログむンずログアりトが曖昧な感じになっおしたうのも圓然ず考えられる。

本質的には、指定された認蚌凊理をクリアしお指定されたプログラムを起動するずいうのがログむン凊理であり、ログむン時に起動されたプロセスを終了するのがログアりト凊理だ。時代が倉わるに぀れお䜿い方は倉わっおいっおいるが、OSから芋た本質は倉わっおいない。

WSLでUbuntuを䜿っおいるずあたり意識するこずはないが、実斜にはログむンやログアりトの凊理が行われおいるずいうこずは把握しおおいおもらえればず思う。

参考