下面的所有選項都位於
"[Login]" 小節:
NAutoVTs=
必須設為一個正整數,
表示預設最多可以自動啟動多少個虛擬終端。
當用戶切換到一個先前未曾使用的虛擬終端時,
將根據該虛擬終端的名稱自動從
autovt@.service 模版例項化一個
例如 autovt@tty4.service
這樣的服務單元。
預設情況下,autovt@.service
是一個指向 getty@.service
的軟連線。
換句話說,當用戶切換到一個先前未曾使用的虛擬終端時,"login:"登入提示符是動態啟動的。
因此,此選項實際上相當於設定了允許啟動多少個
agetty[1]
文字登入介面(與虛擬終端一一對應)。
如果某個虛擬終端已經被其他子系統(例如圖形登入介面)佔用,
那麼將不會自動啟動此虛擬終端。
注意,ReserveVT=
中的虛擬終端
總會被自動啟動,
即使這些終端並不在
NAutoVTs= 的範圍內。
預設值是"6"。若設為"0"則表示禁止自動啟動任何虛擬終端,
也就是禁止自動從
autovt@.service 模版例項化。
ReserveVT=
必須設為一個表示終端編號的正整數,
表示無條件的為該終端從
autovt@.service
模版例項化一個服務單元(見上文)。
被此選項選中的虛擬終端將被無條件的標記為"忙碌"狀態,
以確保不被任何其他子系統佔用。
此選項可用於確保無論其他子系統佔用了多少虛擬終端,
在特定編號的終端上總有一個文字介面的登入
agetty[1] 可用。
預設值是"6",
也就是在 Alt-F6
上總有一個文字介面的"login:"登入提示符。
若設為"0"則表示禁止此特性。
KillUserProcesses=
接受一個布林值。控制在使用者退出登入會話時,
是否殺死該使用者的程序。如果設為"yes",
那麼與此會話對應的 scope
單元中所包含的所有程序都將被殺死。
如果設為"no",那麼與此會話對應的
scope
單元將會被"遺棄",
並且其中包含的所有程序都將被保留(任由其自生自滅)。
預設值是 "yes" 。
參見下面的
KillOnlyUsers= 與
KillExcludeUsers= 選項。
根據 linger(逗留)
設定的不同,使用者程序除了可以執行在會話中,
還可以執行在 user@.service
使用者管理單元中。
這樣就允許使用者執行獨立於登入會話的程序。參見
loginctl(1) 的 enable-linger
命令。
注意,設定
KillUserProcesses=yes 將破壞 screen(1)
與 tmux(1)
之類的工具(除非它們被移出了會話
scope 單元之外)。參見
systemd-run(1) 的例子。
KillOnlyUsers=, KillExcludeUsers=
設為一個空格分隔的使用者名稱列表,
以影響 KillUserProcesses=
的效果: 若 KillOnlyUsers=
非空, 則表示 KillUserProcesses=yes
僅對列表內的使用者有效。
若 KillExcludeUsers= 非空,
則表示 KillUserProcesses=yes
僅對列表外的使用者有效。
KillOnlyUsers= 預設值為空,
KillExcludeUsers= 預設值為 "root"
, 並且 KillExcludeUsers=
的優先順序比 KillOnlyUsers=
更高。
注意,若選項值為空則表示忽略此選項(相當於不存在此選項)。
IdleAction=
當系統持續處於空閒狀態超過
IdleActionSec=
所設定的時間後,
應該執行何種操作:
"ignore"(無操作),
"poweroff"(關閉系統並切斷電源),
"reboot"(重新啟動),
"halt"(關閉系統但不切斷電源),
"kexec"(呼叫核心"kexec"函式),
"suspend"(休眠到記憶體),
"hibernate"(休眠到硬碟),
"hybrid-sleep"(同時休眠到記憶體與硬碟),
"lock"(鎖屏) 。 預設值是
"ignore"
注意,此功能依賴於使用者會話能夠正確的報告空閒狀態。
執行此處設定的動作需要滿足下列全部條件:
(1)系統中不存在"idle
inhibitor[2]"鎖(禁止進入空閒狀態的鎖)
(2)所有會話都報告說它們正處於空閒狀態,並且持續處於空閒狀態超過了下文
IdleActionSec=
所設定的時間。
IdleActionSec=
當系統持續處於空閒狀態超過此處設定的時長之後
將會自動執行 IdleAction=
設定的動作。
可以使用下面的時間單位字尾:"ms",
"s", "min", "h", "d"
,若僅設為一個正整數,那麼單位是秒。
InhibitDelayMaxSec=
當系統中存在"delay
inhibitor[2]"延遲鎖時,關閉/休眠系統的請求將被臨時延遲一段時間。
此選項可用於設定上述延遲的最大時長。
若超過這個時長之後,延遲鎖依然未被釋放,那麼將執行關閉/休眠系統的動作。
可以使用下面的時間單位字尾:"ms",
"s", "min", "h", "d"
,若僅設為一個正整數,那麼單位是秒。
預設值是5秒。
HandlePowerKey=, HandleSuspendKey=,
HandleHibernateKey=, HandleLidSwitch=,
HandleLidSwitchDocked=
當按下硬體按鈕(關機、休眠到記憶體、休眠到硬碟、合上顯示屏)時,
應該執行何種操作:
"ignore"(無操作),
"poweroff"(關閉系統並切斷電源),
"reboot"(重新啟動),
"halt"(關閉系統但不切斷電源),
"kexec"(呼叫核心"kexec"函式),
"suspend"(休眠到記憶體),
"hibernate"(休眠到硬碟),
"hybrid-sleep"(同時休眠到記憶體與硬碟),
"lock"(鎖屏) 。 注意,
只監視帶有 "power-switch"
標籤的 輸入裝置的
key(按下按鈕)/lid(合上顯示屏)
事件。
如果主機插入了一個擴充套件塢(docking
station)
或者連線了多個顯示器,
那麼"合上顯示屏"將執行
HandleLidSwitchDocked= 動作,
否則將執行 HandleLidSwitch=
動作。
下面是各選項的預設值:
HandlePowerKey=poweroff 、 HandleSuspendKey=suspend
、 HandleLidSwitch=suspend 、
HandleLidSwitchDocked=ignore 、
HandleHibernateKey=hibernate
PowerKeyIgnoreInhibited=,
SuspendKeyIgnoreInhibited=, HibernateKeyIgnoreInhibited=,
LidSwitchIgnoreInhibited=
設定硬體按鈕(關機、休眠到記憶體、休眠到硬碟、合上顯示屏)
所觸發的操作(見上文)是否應該忽略
inhibitor[2] 鎖的存在。 "no"
表示遵守應用所持有的
inhibitor 鎖,
僅當所有的鎖都失效以後才執行所觸發的操作。
"yes" 表示無視 inhibitor
鎖的存在,
無條件的立即執行所觸發的操作。
下面是各選項的預設值:
PowerKeyIgnoreInhibited=no 、 SuspendKeyIgnoreInhibited=no
、 HibernateKeyIgnoreInhibited=no 、
LidSwitchIgnoreInhibited=yes 。
HoldoffTimeoutSec=
當開機/喚醒時間尚未超出此處設定的時間長度時,
systemd
將延遲響應合上顯示屏(lid)硬體事件。
為了能夠正確檢測可熱插拔的外接顯示器與擴充套件塢,
在剛開機之後的一段時間內忽略lid事件是非常有必要的。
若設為零,systemd
將會立即響應lid事件,
但這有可能在核心完成初始化所有熱插拔裝置之前。
只要你不在乎讓 systemd
去管理在系統關閉時被插入或拔出的裝置,
那麼就可以設為零。
預設值是30秒。
RuntimeDirectorySize=
為每個已登入使用者設定執行時目錄($XDG_RUNTIME_DIR)的最大尺寸。
若設為絕對大小,
則可以使用基於1024的位元組字尾:K,
M, G, T 。
若設為相對大小,
則可以設為一個以物理記憶體大小為基準的百分數(以
"%" 為字尾)。
預設值是 10% 。
注意,這裡設定的值僅用於限制執行時目錄尺寸的上限,
因為執行時目錄位於記憶體中(tmpfs),
所以實際所佔用的記憶體大小是隨著目錄內容的變化而變化的。
InhibitorsMax=
控制最多允許同時存在多少個
inhibitor 鎖。 預設值是 8192
SessionsMax=
控制最多允許同時管理多少個使用者會話。預設值是
8192 。 根據PAM棧中 pam_systemd.so
模組的不同配置,
超出數量限制的登入會話可能會被直接拒絕、也可能會被允許登入但不被
systemd-logind 追蹤。
UserTasksMax=
限制每個使用者可同時執行的最大作業系統任務數。
這實際上是設定了每個使用者的
slice 單元的
TasksMax=
的值。詳見
systemd.resource-control(5)
手冊。預設值是 33%
,對於預設設定的核心來說,在主機上等於
10813
,但是在容器中的值可能會更小。
RemoveIPC=
當用戶完全退出登入時(也就是退出最後一個登入會話時),
是否銷燬所有屬於該使用者的
SysV 與 POSIX IPC 物件。
這些IPC物件包括:SysV
訊號/共享記憶體/訊息佇列、POSIX
共享記憶體/訊息佇列。
預設值 "yes"
表示銷燬,這樣可以確保當用戶完全退出登入之後,不會再佔用任何IPC資源。
注意,無論如何設定此選項,root
使用者的IPC物件永遠不會被銷燬。