web-dev-qa-db-ja.com

GRUBプロファイルを追加してユーザーを自動ログインし、スクリプト(15.10)を開始することはできますか?

複数のユーザーアカウントを持つ15.10 64ビットマシンを使用しています。
通常、GRUBでUbuntuを選択すると、起動してログイン画面が表示され、アカウントを選択してパスワードを入力し、アプリケーションを起動します。

これは問題なく、そのままにしておく必要がありますが、GRUBメニューに別のオプションを追加したいです。

これを選択すると、同じUbuntuインストールを起動しますが、自動的に1つの特定のユーザーアカウント(パスワードで保護されている)にログインし、スクリプトを開始します。通常のログインではスクリプトが起動しない場合があります。
自動ログインがアカウントパスワードをバイパスするので、これもパスワードで保護したいと思いますGRUBブートオプションなので、自分のパスワード(または別のパスワード)を入力する必要があります) GRUBがこの単一のオプションを起動する前に。

このようなものを設定することは可能ですか?どうすればよいですか?

1
Byte Commander

進行中の作業

これは、以下を使用して実行できます。

  1. 基本的なウィンドウマネージャーを起動してスクリプトを実行するカスタムXセッション
  2. ユーザーを自動ログインして上記のセッションを使用するLightDMのカスタム構成
  3. 上記の構成を使用するLightDMのカスタムサービス
  4. 通常のLightDMサービスを無効にしてカスタムサービスを開始するための適切なカーネルパラメータ
  5. 上記のパラメーターでパスワード保護されたエントリーを自動的に作成するGRUB構成

この例では、Google Chromeを使用してキオスクモードを設定する方法を示します。

スクリプト

#! /bin/sh
metacity &
while true
do 
    google-chrome --start-maximized
    if zenity --question --text='Do you want to logout?' --title='Logout'
    then
        exit
    fi
done

それを/usr/local/bin/chrome-kiosk.shと言い、実行可能にします。追加の構成なしで実行可能なセットアップを提供する単純なウィンドウマネージャーにmetacityを使用していることに注意してください。

Xセッション

[Desktop Entry]
Name=Chrome
Comment=This session logs runs a Google Chrome kiosk
Exec=/usr/local/bin/chrome-kiosk.sh
Icon=google-chrome
Type=Application
X-LightDM-DesktopName=Chrome

/usr/share/xsessions/chrome.desktopに保存します。別のスクリプトを使用する場合は、少なくともExec行を適宜変更してください。

LightDM構成

[Seat:*]
autologin-guest=false
autologin-user=username
autologin-user-timeout=0
autologin-session=chrome

/etc/lightdm/autologin-lightdm.confとして保存します。 usernameを目的のユーザー名に置き換えます。

LightDMサービス

systemctl cat lightdm.service | 
  sed '/ExecStart/s/$/ --config=/etc/lightdm/autologin-lightdm.conf' |
  Sudo tee /etc/systemd/system/autologin-lightdm.service

これにより、lightdm.serviceautologin-lightdm.serviceという名前のデフォルトの/etc/systemd/systemのカスタムコピーが作成され、ExecStart行が次のように変更されます。

ExecStart=/usr/sbin/lightdm --config /etc/lightdm/autologin-lightdm.conf

カーネルパラメータ

これをテストするには、GRUBメニューで、 e Ubuntuエントリを編集します。 linux行を見つけて、追加します。

systemd.mask=display-manager.service systemd.wants=autologin-lightdm.service

.service拡張子は省略できます。)

押す CtrlX。ユーザーにログインし、Google Chromeウィンドウを最大化してください。

GRUB構成

未定。

2
muru