'--no-legend[Do not print a legend, i.e. the column headers and the footer with hints]' \
'--no-pager[Do not pipe output into a pager]' \
'--no-ask-password[Do not ask for system passwords]' \
- '--order[When generating graph for dot, show only order]' \
- '--require[When generating graph for dot, show only requirement]' \
'--system[Connect to system manager]' \
'--user[Connect to user service manager]' \
'--global[Enable/disable unit files globally]' \
{-c,--cursor=}'[Start showing entries from specified cursor]:cursors:_journal_fields __CURSORS' \
{-b,--this-boot}'[Show data only from current boot]' \
{-u,--unit=}'[Show data only from the specified unit]:units:_journal_fields _SYSTEMD_UNIT' \
+ '--user-unit[Show data only from the specified user session unit]:units:_journal_fields _SYSTEMD_USER_UNIT' \
{-p,--priority=}'[Show only messages within the specified priority range]:priority:_journal_fields PRIORITY' \
{-f,--follow}'[Follow journal]' \
{-n,--lines=}'[Number of journal entries to show]:integer' \
'--no-tail[Show all lines, even in follow mode]' \
{-o,--output=}'[Change journal output mode]:output modes:_outputmodes' \
+ '--full[Show long fields in full]' \
{-a,--all}'[Show all fields, including long and unprintable]' \
{-q,--quiet}"[Don't show privilege warning]" \
'--no-pager[Do not pipe output into a pager]' \
'--verify[Verify journal file consistency]' \
'--list-catalog[List messages in catalog]' \
'--update-catalog[Update binary catalog database]' \
+ '*::default: _journal_none'
;;
localectl)
_arguments \
_arguments \
{-h,--help}'[Show help text.]' \
'--user[Shows performance data of user sessions instead of the system manager.]' \
+ '--order[When generating graph for dot, show only order]' \
+ '--require[When generating graph for dot, show only requirement]' \
'*::systemd-analyze commands:_systemd_analyze_command'
;;
systemd-ask-password)
}
_systemd_inhibit_command(){
- if (( CURRENT == 1 )); then
+ if (( CURRENT == 1 )); then
compset -q
_normal
else
'time:Print the time taken to start'
'blame:prints a list of all running units, ordered by the time they took to initialize'
'plot:prints an SVG graphic detailing which system services have been started at what time'
+ 'dot:Dump dependency graph for dot(1)'
)
if (( CURRENT == 1 )); then
_output_opts=(short short-monotonic verbose export json json-pretty json-see cat)
_describe -t output 'output mode' _output_opts || compadd "$@"
}
-
+
(( $+functions[_systemctl_command] )) || _systemctl_command()
{
"restart:Start or restart one or more units"
"condrestart:Restart one or more units if active"
"try-restart:Restart one or more units if active"
- "reload-or-restart:Reload one or more units is possible, otherwise start or restart"
- "force-reload:Reload one or more units is possible, otherwise restart if active"
- "reload-or-try-restart:Reload one or more units is possible, otherwise restart if active"
+ "reload-or-restart:Reload one or more units if possible, otherwise start or restart"
+ "force-reload:Reload one or more units if possible, otherwise restart if active"
+ "hibernate:Hibernate the system"
+ "hybrid-sleep:Hibernate and suspend the system"
+ "reload-or-try-restart:Reload one or more units if possible, otherwise restart if active"
"isolate:Start one unit and stop all others"
"kill:Send signal to processes of a unit"
"is-active:Check whether units are active"
+ "is-failed:Check whether units are failed"
"status:Show runtime status of one or more units"
"show:Show properties of one or more units/jobs or the manager"
"reset-failed:Reset failed state for all, one, or more units"
"list-jobs:List jobs"
"cancel:Cancel all, one, or more jobs"
"dump:Dump server status"
- "dot:Dump dependency graph for dot(1)"
"snapshot:Create a snapshot"
"delete:Remove one or more snapshots"
"show-environment:Dump environment"
__systemctl()
{
- systemctl --full --no-legend --no-pager "$@"
+ local -a _modes
+ _modes=("--user" "--system")
+ systemctl ${words:*_modes} --full --no-legend --no-pager "$@"
}
if ( [[ ${+_sys_all_units} -eq 0 ]] || _cache_invalid SYS_ALL_UNITS ) &&
! _retrieve_cache SYS_ALL_UNITS;
then
- _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo "$a"; done; }) )
+ _sys_all_units=( $(__systemctl list-units --all | { while read a b; do echo " $a"; done; }) )
_store_cache SYS_ALL_UNITS _sys_all_units
fi
}
if ( [[ ${+_sys_really_all_units} -eq 0 ]] || _cache_invalid SYS_REALLY_ALL_UNITS ) &&
! _retrieve_cache SYS_REALLY_ALL_UNITS;
then
- all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo "$a"; done; }) )
+ all_unit_files=( $(__systemctl list-unit-files | { while read a b; do echo " $a"; done; }) )
_systemctl_all_units
really_all_units=($_sys_all_units $all_unit_files)
_sys_really_all_units=(${(u)really_all_units})
unit=${units[i]}
prop=${(f)"$(_call_program units "$service show --no-pager --property="$property" ${unit} 2>/dev/null")"}
if [[ "${prop}" = "$property=$value" ]]; then
- echo "${unit}"
+ echo " ${unit}"
fi
done
}
-_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo "$a"; done; }) )}
-_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" ]] && echo "$a"; done; }) )}
-_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo "$a"; done; }) )}
-_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo "$a"; done; }) )}
-_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo "$a"; done; }) )}
-_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo "$a"; done; }) )}
+_systemctl_active_units() {_sys_active_units=( $(__systemctl list-units | { while read a b; do echo " $a"; done; }) )}
+_systemctl_inactive_units(){_sys_inactive_units=($(__systemctl list-units --all | { while read a b c d; do [[ $c == "inactive" || $c == "failed" ]] && echo " $a"; done; }) )}
+_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read a b; do echo " $a"; done; }) )}
+_systemctl_enabled_units() {_sys_enabled_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "enabled" ]] && echo " $a"; done; }) )}
+_systemctl_disabled_units(){_sys_disabled_units=($(__systemctl list-unit-files | { while read a b; do [[ $b == "disabled" ]] && echo " $a"; done; }) )}
+_systemctl_masked_units() {_sys_masked_units=( $(__systemctl list-unit-files | { while read a b; do [[ $b == "masked" ]] && echo " $a"; done; }) )}
# Completion functions for ALL_UNITS
-for fun in is-active is-enabled status show mask preset ; do
+for fun in is-active is-failed is-enabled status show mask preset ; do
(( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
{
_systemctl_really_all_units
(( $+functions[_systemctl_$fun] )) || _systemctl_$fun()
{
_systemctl_enabled_units
- compadd "$@" -a - _sys_enabled_units
+ _systemctl_disabled_units
+ compadd "$@" -a - _sys_enabled_units _sys_disabled_units
}
done
_systemctl_all_units
compadd "$@" - $( _filter_units_by_property CanStart yes \
${_sys_all_units[*]} | while read line; do \
- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo "$line"; \
+ [[ "$line" =~ \.device$ ]] || echo " $line"; \
done )
}
done
(( $+functions[_systemctl_delete] )) || _systemctl_delete()
{
compadd "$@" - $(__systemctl list-units --type snapshot --all \
- | cut -d' ' -f1 2>/dev/null ) || _message "no snampshot found"
+ | cut -d' ' -f1 2>/dev/null ) || _message "no snapshot found"
}
# Completion functions for ENVS
fi
compadd "$@" ${suf} - $(systemctl show-environment \
- | while read line; do echo "${line%%\=}";done )
+ | while read line; do echo " ${line%%\=}";done )
}
done
(( $+functions[_systemctl_link] )) || _systemctl_link() { _files }
# no systemctl completion for:
-# [STANDALONE]='daemon-reexec daemon-reload default dot dump
+# [STANDALONE]='daemon-reexec daemon-reload default dump
# emergency exit halt kexec list-jobs list-units
# list-unit-files poweroff reboot rescue show-environment'
# [NAME]='snapshot load'
_{P,U,G}ID _COMM _EXE _CMDLINE
_AUDIT_{SESSION,LOGINUID}
_SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID}
+ _SYSTEMD_USER_UNIT
_SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP
_{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT
_KERNEL_{DEVICE,SUBSYSTEM}
_describe 'possible fields' journal_fields
}
+_journal_none() {
+ local -a _commands _files
+ _commands=( ${(f)"$(_call_program commands "$service" -F _EXE 2>/dev/null)"} )
+ _alternative : \
+ 'files:/dev files:_files -W /dev -P /dev/' \
+ "commands:commands:($_commands[@])" \
+ 'fields:fields:_list_fields'
+}
+
_journal_fields() {
local -a _fields cmd
cmd=("journalctl" "-F ${@[-1]}" "2>/dev/null" )
- _fields=( ${(f)"$(_call_program fields $cmd[@])"} )
+ _fields=( ${(f)"$(_call_program fields $cmd[@])"} )
typeset -U _fields
_describe 'possible values' _fields
}
-_loginctl_all_sessions(){_sys_all_sessions=($(loginctl list-sessions | { while read a b; do echo "$a"; done; }) )}
-_loginctl_all_users() {_sys_all_users=( $(loginctl list-users | { while read a b; do echo "$a"; done; }) )}
-_loginctl_all_seats() {_sys_all_seats=( $(loginctl list-seats | { while read a b; do echo "$a"; done; }) )}
+_loginctl_all_sessions(){_sys_all_sessions=($(loginctl list-sessions | { while read a b; do echo " $a"; done; }) )}
+_loginctl_all_users() {_sys_all_users=( $(loginctl list-users | { while read a b; do echo " $a"; done; }) )}
+_loginctl_all_seats() {_sys_all_seats=( $(loginctl list-seats | { while read a b; do echo " $a"; done; }) )}
# Completion functions for SESSIONS
for fun in session-status show-session activate lock-session unlock-session terminate-session kill-session ; do
#_model=( ${(f)"$(echo $_file[2] | awk '/^ / {print $1}')"} )
#_variant=( ${(f)"$(echo $_file[3] | awk '/^ / {print $1}')"} )
#_options=( ${(f)"$(echo ${_file[4]//:/\\:} | awk '/^ / {print $1}')"} )
-
- case $CURRENT in
+
+ case $CURRENT in
2) _describe layouts _layout ;;
3) _describe models _model;;
4) _describe variants _variant;;
'--timeout=[The maximum number of seconds to wait for a reply from systemd-udevd.]' \
'--help[Print help text.]'
}
-
+
_udevadm_monitor(){
_arguments \
'--kernel[Print the kernel uevents.]' \
if (( CURRENT == 2 )); then
_arguments \
'--help[Print help text]' \
- '*::builtins:(blkid btrfs firmware hwdb input_id kmod path_id usb_id uaccess)'
+ '*::builtins:(blkid btrfs hwdb input_id kmod path_id usb_id uaccess)'
elif (( CURRENT == 3 )); then
_arguments \
'--help[Print help text]' \