2011年12月21日 星期三

[Linux] 如何自動登入

Part 1 : Linux自動登入文字介面
修改 /etc/inittab
  1. [root@localhost /]# vi /etc/inittab
    #1:2345:respawn:/sbin/mingetty tty1
    1:2345:once:/sbin/mingetty --autologin root tty1
我只設定 tty1 自動登入,可以依需求把其他的 tty 都改成自動登入.

Part 2: 如何讓 X-Window 自動 login 的方法

首先說設定讓 X-Window 自動 login 的方法只是用於特定場所,如實驗室等測試環境,正式環境不建議使用.

Non - Root User

先建立一個非 root 的帳號並且不要設定其密碼的使用者帳號, 例如: abc.
  1. [root@localhost /]# useradd abc
    [root@localhost /]# passwd –d abc
root 預設是無法使用自動 login 的方法,後面會再介紹一種方式可以讓 root 自動登入到 x-windows,要讓非 root 使用者自動登入 x-windows 首先需要編輯 /etc/X11/gdm/gdm.conf 這一個檔案.
  1. [root@localhost /]# vi /etc/X11/gdm/gdm.conf
    #--- gdm-conf ---
    [daemon]
    AutomaticLoginEnable=true
    AutomaticLogin=abc
    ....
    ....
    ....
    TimedLoginEnable=true
    TimedLogin=abc
    TimedLoginDelay=30
    [security]
    AllowRemoteAutoLogin=true
    #-- end ---
1.AutomaticLoginEnable=true
=> 設定開機時, 自動登入
2.AutomaticLogin=abc
=> 填入指定使用者名稱
3.TimedLoginEnable=true
=> 在登出以後 如果使用者在登入畫面沒有動作, 等待一定時間後會自動登入.
4.TimedLogin=abc
=> 填入指定使用者名稱
5.TimedLoginDelay=30
=> 接下來重新開機就可以用 abc 這個使用者自動登入到 x-window

Root User

因為系統無法直接讓 root 自動登入 x-window 所以我們先讓 Linux 系統自動登入文字介面,先修改 /etc/inittab 檔案.
  1. [root@localhost /]# vi /etc/inittab
    #1:2345:respawn:/sbin/mingetty tty1
    1:2345:once:/sbin/mingetty --autologin root tty1
在所需的 tty# 加入 --autologin root 就可以自動登入到文字介面.接下來修改 root 的 .bash_profile
  1. [root@localhost /]# vi /root/.bash_profile
    # .bash_profile
    # Get the aliases and functions
    if [ -f ~/.bashrc ]; then
      . ~/.bashrc
    fi
    # User specific environment and startup programs
    PATH=$PATH:$HOME/bin
    export PATH
    unset USERNAME
    startx
.bash_profile 是 login system 時會用到的其中一個 shell,主要在最後一行加入 startx 即可,重新開機就可以讓 root 自動登入到 x-window.

在 RHEL 6 和 ubuntu 採用了 FreeDesktop.org 的規格,FreeDesktop.org 的官方網站 http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html,他定義了基本的 Linux 下的 X Window System (X11) 以及其他 Unix-like 作業系統的桌面環境.主要是為了增加 free software desktop environments 的互通性,而這環境簡稱為 XDG(X Desktop Group).

所以上述的方式在新的桌面環境已經不適用了,如果要用 x-window 自動登入請自行參考

Part 3:

Ubuntu 在安裝的時候可以選擇是不是要由特定的使用者自動登入,如果在安裝時沒選定自動登入,這時可以透過 Ubuntu 桌面系統 "gdm" 的工作環境設定程式,#gdmsetup選擇要自動登入的使用者即可.


#gdmsetup 這個指令主要是修改 /etc/gdm/gdm.conf 設定檔,當我們要將 root 設定為自動登入的使用者時, 也只有直接透過修改設定檔才可以達成.
  1. [root@localhost /]# sudo gedit /etc/gdm/gdm.conf
    [daemon]
    
    TimedLoginEnable=true
    AutomaticLoginEnable=true
    TimedLogin=root
    AutomaticLogin=root
    TimedLoginDelay=30
    DefaultSession=gnome
參考文件:
http://benjr.tw/node/671

沒有留言:

張貼留言