私はLinuxコンテナを起動し、そのlxsessionをVNCスタイルのネストされたXサーバーにロードするためにsystemd-nspawnを使用しています。 (ゼファー)
私スクリプト行ってこれをやってみてください。このスクリプトの主な問題の1つは、/ etc / profileを介してGUIを起動する前にコンテナコンソールにログインする必要があることです。
私の問題は次のとおりです。まず、ユーザーに手動でログインするように要求せずにグラフィカルアプリケーションを自動的に起動する方法を探しています。私は試した:
- コンソールが自動的にログインできるようにするlightdmを使う。 lightdmが常に起動しないため、動作しません。
- lxsessionをフォアグラウンドで実行できる自動起動方法を探しています。私は/etc/rc.localだけを知っています。うまくいきますが、環境変数はすべて混乱し、「PID XXXへのセッションなし」というダイアログがあります。
- スクリプトにユーザー名とパスワードを入力させます。多くのコンテナがデフォルトの「ラズベリー」以外のパスワードを使用するので、悪い考えです。
答え1
systemd-nspawnコンテナへの自動ログインを設定するには、console-getty.serviceをオーバーライドします。
# /etc/systemd/system/console-getty.service.d/override.conf [Service] ExecStart= ExecStart=-/sbin/agetty --noclear --autologin username --keep-baud console 115200,38400,9600 $TERM
machinectl login my-container
メソッドを使用してコンテナにアクセスする場合は、擬似ttyを管理するテンプレート--autologin USERNAME
にも追加する必要があります。[email protected]
pts/[0-9]
# /etc/systemd/system/[email protected]/override.conf [Service] ExecStart= ExecStart=-/sbin/agetty --noclear --autologin username --keep-baud pts/%I 115200,38400,9600 $TERM
私はこれを実際に使用しました。NSボックス問題が一つあります。 agettyはシェルを起動し続けるため、bashrc / zshrcが実行され、nspawnが実行されているコンソールに見苦しいプロンプトが表示されることがあります。これは取引の中断ではありませんが、注目に値する...