
Я пытаюсь создать сочетание клавиш в Xubuntu (13.04), но понятия не имею, что вводить для команды. Какая команда для вызова switch user?
решение1
Я проверил исходный код плагина «кнопка действий», встроенного в xfce4-panel, и механизм переключения пользователей использует gdmflexiserver
, в то время как большинство других действий используют параметры xfce4-session-logout
.
Источник был получен с помощью apt-get source xfce4-panel
; информация была в ~/xfce4-panel-4.10.0/plugins/actions/actions.c:
case ACTION_TYPE_SWITCH_USER:
succeed = g_spawn_command_line_async ("gdmflexiserver", &error);
break;
Исполняемый файл вы найдете по адресу /usr/lib/lightdm/lightdm/gdmflexiserver
, который на самом деле представляет собой просто скрипт:
#!/bin/sh
#
# Copyright (C) 2011 Canonical Ltd
# Author: Michael Terry <[email protected]>
#
# This program is free software: you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation, version 3 of the License.
#
# See http://www.gnu.org/copyleft/gpl.html for the full text of the license.
if [ -z "$XDG_SEAT_PATH" ]; then
# something went wrong
exit 1
fi
dbus-send --system --type=method_call --print-reply --dest=org.freedesktop.DisplayManager $XDG_SEAT_PATH org.freedesktop.DisplayManager.Seat.SwitchToGreeter
Его нет в $PATH
, поэтому если вы используете его в скрипте, вам нужно будет указать абсолютный путь. Я не уверен, нужны ли ему какие-либо другие ключи, но добавлю некоторую дополнительную информацию, если это так.
Полезные команды для скриптов также можно найти на странице руководства по xfce4-session-logout
, хотя действие переключения пользователя там не упоминается, поскольку оно использует другую утилиту под названием gdmflexiserver
.