web-dev-qa-db-ja.com

プログラムでlightdm自動ログインセッションタイプを変更する

Lightdmの自動ログインセッションタイプの設定に問題があります(構成ツールを使用)。 Lightdmは、以前に選択したセッションにログインします。 autologin-sessionはバージョン1.2.1で実装されていないことがわかります。たぶんlightdmをだますことができますか?しかし、プログラムは停止時に実際の状態を書き込み、/ home/user/.dmrcおよび/var/cache/lightdm/user.dmrcへの変更を上書きするようです。

現在のところ、デフォルトとキオスクの2つのセッションがあります。 /etc/lightdm/lightdm.confに次の行があります:user-session = desktop

しかし、キオスクセッションにログインすると、常に開始されます。 .dmrcおよび/var/cache/lightdm/dmrc/user.dmrcの変更は機能しません。

私が本当に達成したいのは、gui configツールでadminが選択したGUIセッションを実行することなので、nodmディスプレイマネージャーを試してみると思います。もう1つの低レベルのツールはrungettyです-しかし、このプログラムは知りません(チュートリアルを見つけました)。

解決済み!

最後に、nodm、lxdm、rungettyなどを2日間試した後、lightdmの簡単な解決策を見つけました(そうではない)。

dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.Accounts /org/freedesktop/Accounts/User1000 org.freedesktop.Accounts.User.SetXSession string:kiosk

これにより、ID 1000のユーザーのデフォルトのxsessionがkioskに設定されます。

将来的には、おそらく同じことを行う設定ファイルにautologin-sessionオプションが追加されるでしょう(UNIMPLEMENTEDとしてマークされます)。

7
marcinpz

LightDMでは、これを試してください。

ファイル/etc/lightdm/lightdm.confを開き(gksu gedit)、次の値を変更します(#シート構成)。

#default-user=bob
#default-user-timeout=5
#pam-service=lightdm

に:

default-user=username
default-user-timeout=0
pam-service=lightdm-autologin

そして、これを行うことができます:/etc/gdm/custom.confファイルを編集します。

[daemon]
TimedLoginEnable=false
AutomaticLoginEnable=true
TimedLogin=(your username)
AutomaticLogin=(your username)
TimedLoginDelay=0
DefaultSession=gnome

最後に再起動します。これにより、ユーザー名が自動的にログインされます。

ファイルを編集したくない場合は、lightdm-set-defaultsを使用して、スクリプトまたはコマンドラインからセッションを変更できます。 -sオプションを使用します。

/usr/lib/lightdm/lightdm-set-defaults

Usage:
  lightdm-set-defaults [OPTION...] - set lightdm default values

Help Options:
  -h, --help                  Show help options

Application Options:
  -d, --debug                 Enable debugging
  -k, --keep-old              Only update if no default already set
  -r, --remove                Remove default value if it's the current one
  -s, --session               Set default session
  -g, --greeter               Set default greeter
  -a, --autologin             Set autologin user
  -i, --hide-users            Set greeter-hide-users to true or false
  -m, --show-manual-login     Set show-manual-login to true or false
  -l, --allow-guest           Set allow-guest to true or false
0
mfisch