このページではUbuntu/Debian VPS(デスクトップ環境GNOME/MATE)で自動ログインする方法を紹介しています。
再起動すると自動でログインは行なわれない
通常、再起動を行なうと自動でログインは行なわれず、パスワード入力を行なわないと進んでいきません。
下の画像は再起動を行なった後のUbuntu22.04 GNOMEのログイン画面になりますが、何も設定を行なわないとパスワード入力待ちになります。
VPSを使ってMetaTraderで自動売買を行なう場合、予期せぬ再起動が起きた際にこれだと手動でパスワードを入力するまでMetaTraderは永遠に動き出しません。
その時の為に「再起動」→「自動ログイン」→「MetaTraderの自動起動」の設定が必要になります。
これからその手順を説明していきます。
自動ログインの設定方法は2種類
Ubuntu・Debianで自動ログインを有効にするには二種類の方法があります。
- デスクトップ環境(GNOME)の設定画面から自動ログインをオンにする方法。
- コマンド操作で自動ログインをオンにする方法。
1の方が簡単ですが、「自動ログイン」の項目がグレーアウトしていて弄る事ができません。(本来は画面上にある「ロック解除」ボタンを押せばオンにできるのですが、ロック解除を押す事ができません)
これはxrdpで接続しているのが原因のようで、コマンド操作を追加する事でロックを解除する事ができます。
これから、xrdpで接続している場合の自動ログイン設定方法と、コマンド操作で自動ログインを設定する方法の2種類を説明していきますのでお好きな方で自動ログインの設定を行なって下さい。
なお、MATEをお使いの場合はデスクトップ環境から自動ログインの設定が行えないので、強制的にコマンド操作による自動ログイン設定となりますのでご注意ください。(GNOMEをお使いの場合は好きな方を選んでください)
デスクトップ環境(GNOME)で自動ログインを設定する方法
既にデスクトップ環境にログイン出来る状態になっている事を想定して説明を行なっていきます。
まだデスクトップにログインできていない場合は下記ページに手順を掲載していますので参考にしてください。
コマンド操作を追加する
xrdpを介してリモート接続している場合は、そのままだと自動ログインをオンにする事ができないのでまずこれを解決していきます。
コマンド操作を行なうのでTeraTermなどでログインしてください。
ログインしたら下記コマンドを実行します。(1行ずつではなく全てまとめてコピペします)
OSのバージョンでコマンドが異なるので注意して下さい。
Ubuntu23.04/22.04/20.04、Debian11/10
sudo bash -c "cat >/etc/polkit-1/localauthority/50-local.d/47-user-admin.pkla" <<EOF
[user admin]
Identity=unix-user:*
Action=org.gnome.controlcenter.user-accounts.administration
ResultAny=auth_admin_keep
ResultInactive=no
ResultActive=no
EOF
Ubuntu24.04/23.10、Debian12
sudo bash -c "cat >/etc/polkit-1/rules.d/50-allow-useradmin.rules" <<EOF
/* ----Allow user administration in remote Desktop------- */
polkit.addRule(function(action, subject) {
if ((action.id == "org.gnome.controlcenter.user-accounts.administration") &&
subject.isInGroup("sudo")) {
return polkit.Result.YES;
}
});
EOF
デスクトップを開く
コマンドを実行したらWindows標準アプリなどでリモートデスクトップ接続を行ないます。
デスクトップ画面上で右クリックし「設定」を開きます。
設定を開いたら左メニュー下の方にある「ユーザー」を選択します。
ユーザーを開くと上部に「ロック解除・・・」とあるのでクリックします。
Debianには「ロック解除・・・」が無い筈なので必要ありません。
パスワード認証画面が開くのでパスワードを入力します。
Debianの場合は「ロック解除・・・」が無い筈なのでパスワード入力はありません。
ロック解除が完了したら同画面にある「自動ログイン」をオンにします。
これで自動ログインの設定は完了ですので、実際に自動ログイン出来ているか確認してみてください。
コマンド操作で自動ログインを設定する方法
OS(Ubuntu/Debian)、デスクトップ環境(GNOME/MATE)で設定方法が異なります。
の4つの手順を順番に説明していきます。
今のところ、OSのバージョンによる違いは確認できていないのでUbuntuは22.04/20.04、Debianは12/11/10対応と考えて頂いて大丈夫です。
ここからはTeraTermを使って説明していきます。
Ubuntu GNOME
まずは下記コマンドを実行します。
nano /etc/gdm3/custom.conf
コマンドを実行するとこのような画面になります。
この中の以下の部分を編集します。
# TimedLoginEnable = true
# TimedLogin = user1
# TimedLoginDelay = 10
↓
TimedLoginEnable = true
TimedLogin = 自動ログインしたいユーザー名
TimedLoginDelay = 10
上記三行のコメントアウトを外し「TimedLogin = user1」の「user1」の部分を自動ログインさせたい自分で設定したOSのユーザー名に変更します。(ユーザー名が「meta4」なら「TimedLogin = meta4」)
編集が終わったら、キーボードの「Ctrlキー+Xキー」→「Yキー」→「Enterキー」の順に押し編集を完了させます。
編集前の画面に戻ったら下記コマンドで再起動を行ないます。
reboot
これで自動ログインされている筈です。
下記画像はサーバー会社のコントロールパネル内から起動できるコンソール(noVNC)で自動起動している事を確認した画面になります。
自動ログインを設定した状態だと、Windows標準のリモートデスクトップ接続アプリで接続を行なおうとすると画面が真っ黒になりログイン出来ないので注意して下さい。(デスクトップ環境は1ユーザー1つしか接続できないようです)
Windows標準アプリでリモートデスクトップ接続を行ないたい場合は、自動ログインをオフにするしかありません。
Ubuntu MATE
まずは下記コマンドを実行します。
nano /etc/lightdm/lightdm.conf
コマンドを実行するとこのような画面になります。
何も無い状態なので以下をコピーペーストます。
[Seat:*]
autologin-guest=false
autologin-user=自動ログインしたいユーザー名
autologin-user-timeout=0
コピペが終わったら、キーボードの「Ctrlキー+Xキー」→「Yキー」→「Enterキー」の順に押し編集を完了させます。
編集前の画面に戻ったら下記コマンドで再起動を行ないます。
reboot
これで自動ログインされている筈です。
下記画像はサーバー会社のコントロールパネル内から起動できるコンソール(noVNC)で自動起動している事を確認した画面になります。
自動ログインを設定した状態だと、Windows標準のリモートデスクトップ接続アプリで接続を行なおうとすると画面が真っ黒になりログイン出来ないので注意して下さい。(デスクトップ環境は1ユーザー1つしか接続できないようです)
Windows標準アプリでリモートデスクトップ接続を行ないたい場合は、自動ログインをオフにするしかありません。
Debian GNOME
まずは下記コマンドを実行します。
nano /etc/gdm3/daemon.conf
コマンドを実行するとこのような画面になります。
この中の以下の部分を編集します。
# TimedLoginEnable = true
# TimedLogin = user1
# TimedLoginDelay = 10
↓
TimedLoginEnable = true
TimedLogin = 自動ログインしたいユーザー名
TimedLoginDelay = 10
上記三行のコメントアウトを外し「TimedLogin = user1」の「user1」の部分を自動ログインさせたい自分で設定したユーザー名に変更します。(ユーザー名が「meta4」なら「TimedLogin = meta4」)
編集が終わったら、キーボードの「Ctrlキー+Xキー」→「Yキー」→「Enterキー」の順に押し編集を完了させます。
編集前の画面に戻ったら下記コマンドで再起動を行ないます。
reboot
これで自動ログインされている筈です。
下記画像はサーバー会社のコントロールパネル内から起動できるコンソール(noVNC)で自動起動している事を確認した画面になります。
自動ログインを設定した状態だと、Windows標準のリモートデスクトップ接続アプリで接続を行なおうとすると画面が真っ黒になりログイン出来ないので注意して下さい。(デスクトップ環境は1ユーザー1つしか接続できないようです)
Windows標準アプリでリモートデスクトップ接続を行ないたい場合は、自動ログインをオフにするしかありません。
Debian MATE
まずは下記コマンドを実行します。
nano /etc/lightdm/lightdm.conf
コマンドを実行するとこのような画面になります。
この中の以下の部分を編集します。([Seat:*]の項目にあります)
#autologin-guest=false
#autologin-user=
#autologin-user-timeout=0
↓
autologin-guest=false
autologin-user=自動ログインしたいユーザー名
autologin-user-timeout=0
コピペが終わったら、キーボードの「Ctrlキー+Xキー」→「Yキー」→「Enterキー」の順に押し編集を完了させます。
編集前の画面に戻ったら下記コマンドで再起動を行ないます。
reboot
これで自動ログインされている筈です。
下記画像はサーバー会社のコントロールパネル内から起動できるコンソール(noVNC)で自動起動している事を確認した画面になります。
自動ログインを設定した状態だと、Windows標準のリモートデスクトップ接続アプリで接続を行なおうとすると画面が真っ黒になりログイン出来ないので注意して下さい。(デスクトップ環境は1ユーザー1つしか接続できないようです)
Windows標準アプリでリモートデスクトップ接続を行ないたい場合は、自動ログインをオフにするしかありません。
自動ログインが機能しないケースがある
全てのサーバー会社を試した訳ではありませんが、幾つか自動ログインが実行されないサーバー会社がありました。
Ubuntuに関しては確認した全てのサーバー会社で自動ログインが機能しましたが、Debianは幾つかのサーバー会社で自動ログインができませんでした。
2024年5月現在、自動ログインが機能していないのはLinodeとシン・VPSのDebian12/11/10です。
デスクトップから自動ログインをオンにした場合も、コマンドから有効にした場合もいずれも自動ログイン出来ませんでした。
Linodeとシン・VPSには共通点があって、コントロールパネルにあるコンソールを覗いてみるとどちらもデスクトップが表示されません。(黒い画面にカーソルが点滅するだけ)
普通にリモート接続は行なえますがコンソールからはデスクトップを表示させる事ができませんでした。(Ubuntuは表示されます)
他社のDebianでは本ページ記載の設定方法で自動ログインが機能しているので、該当サーバー会社が提供しているOSに何らかの問題がありそうです。
まだ確認していないサーバー会社が幾つかありますが、恐らくUbuntuに関しては問題無いと思います
確実に自動ログインさせたい場合はUbuntuを使う事をおすすめします。