How to set keyboard shortcut for "switch user" in Xubuntu?

Я пытаюсь создать сочетание клавиш в Xubuntu (13.04), но я не знаю, что поставить для команды. Что такое команда для вызова переключателя пользователя?

1 ответ

Решение

Я проверил с помощью исходного кода плагина "действия", встроенного в панель xfce4, и механизм переключения пользователя использует 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 <michael.terry@canonical.com>
# 
# 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,

Другие вопросы по тегам