Невозможно переключить раскладку клавиатуры при входе в GDM

Использовать ингибиторы systemd

Оригинальное сообщение находится в разделе ниже и подробно описано как перехватить команду /sbin/shutdown.

Из ингибитора systemd:

Название

systemd-inhibit - Выполнить программу с блокировкой блокировки

Синопсис

systemd-inhibit [OPTIONS...] [COMMAND] [ARGUMENTS...]

systemd-inhibit [OPTIONS...] --list

Описание

Оригинальное сообщение может быть используется для выполнения программы с блокировкой блокировки выключения, сна или холостого хода.

Блокировки запрета могут использоваться для блокировки или задержки запросов на спящий режим и отключение пользователя от пользователя, а также автоматической обработки бездействия ОС , Это полезно, чтобы избежать приостановки системы во время записи оптического диска или подобных операций, которые не должны прерываться.

Для получения дополнительной информации см. Ингибитор systemd .

Параметры

Понятно понимать следующие опции:

--what=

Записывает один или несколько операций с блокировкой двоеточия: «shutdown «sleep», «sleep», «idle», «key-power-key», «handle-suspend-key», «handle-hibernate-key», «handle-lid-switch», для запрета перезагрузки / выключения / halt / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если опустить, по умолчанию используется значение «idle: sleep: shutdown».

--who=

Делает список разделенных двоеточиями одной или нескольких операций для блокировки: «выключение», «спящий», «холостой», «рукоятка» «ключ», «рукоятка-приостановка-ключ», «рукоятка-спящий ключ», «ручка-переключатель-ключ» для запрета перезагрузки / выключения / остановки / kexec, приостановка / спящий режим, автоматическое определение режима ожидания или низкоуровневая обработка клавиши питания / сна и переключателя крышки соответственно. Если это опущено, по умолчанию используется «idle: sleep: shutdown».

--why=

Делает короткую, понятную для человека описательную строку по причине блокировки , По умолчанию используется «Неизвестная причина».

--mode=

Делает короткую, понятную для человека описательную строку по причине блокировки. По умолчанию «Неизвестная причина».

--list

Перечисляет все активные блокировки торможения вместо их получения.

-h, --help

Перечисляет все активные блокировки торможения, а не приобретает их.

--version 38] Распечатайте короткую строку и выйдите из нее.

Статус выхода

Возвращает статус выхода исполняемой программы.

Пример

# systemd-inhibit wodim foobar.iso

Это сжигает ISO-изображение foobar.iso на компакт-диске с использованием ингибиторов wodim (1) systemd и блокирует спящий режим, выключение и простоя при этом.

См. Также [!d47 ]

systemd (1), logind.conf (5)

Оригинальная публикация

В концепции это выглядит довольно легко. Просто найдите команду, переименуйте ее и замените ее собственным скриптом, который вызывает переименованную версию:

$ type -a shutdown
shutdown is /sbin/shutdown
$ sudo mv /sbin/shutdown /sbin/shutdownoriginal

Затем отредактируйте собственный скрипт в /sbin/shutdown, содержащий как минимум:

#!/bin/bash
/sbin/shutdownoriginal

Затем отметьте свой скрипт как исполняемый для всех:

$ sudo chmod a+x /sbin/shutdown

Voila! Все, что вызывает выключение, теперь вызывает ваш скрипт, который затем вызывает исходный комманд.

На самом деле, к тому времени, когда ваш скрипт вызван, все может быть не в состоянии, которое вы ожидаете. Например, я ввел некоторые команды для записи выключения, но они не работают:

echo "/sbin/shutdown custom script calling /sbin/shutdownoriginal"
shutdowntime=`date`
echo "Last shutdown: $shutdowntime" >> /home/rick/shutdownlog.txt

Первый echo должен появиться в /var/log/syslog, но это не так. Второй echo должен был добавить строку в файл журнала, но этого не произошло. Это говорит мне, что к моменту выполнения команды /sbin/shutdown регистрация системы уже отключена, и система ввода-вывода файлов отключена.

. Лучший подход - это посмотреть на цель остановки и / входные ингибиторы. Я оставлю этот ответ здесь, хотя для других, которые могут подумать, что он может / должен / должен работать.

Как всегда помните YMMV - ваш пробег может очень.

1
задан 13 March 2018 в 04:32

5 ответов

Перейдите в Настройки -> Область & amp; Язык. В правом верхнем углу окна вы увидите кнопку «Вход в систему». Если вы нажмете эту кнопку, пользовательский интерфейс переключится на вариант для системных настроек. Оттуда вы можете добавить источники входных данных, которые вы хотите использовать на экране входа в систему. Если вы выбрали более одного источника, индикатор индикатора источника будет отображаться на экране входа в систему после следующей перезагрузки.

Кнопка может отображаться только в том случае, если более одного пользователя зарегистрированных в системе. В качестве обходного пути вы можете создать нового пользователя и удалить его после внесения необходимых изменений.

2
ответ дан 22 May 2018 в 12:37
  • 1
    Кажется, у меня нет этой кнопки в 17.10, я также проверил свою 17.10 VM для тестирования и добавил скриншот к моему вопросу. – LiveWireBT 12 March 2018 в 23:28
  • 2
    @LiveWireBT: Мне просто показалось, что эта кнопка присутствует только в том случае, если создано более одной учетной записи пользователя. OTOH, для однопользовательских систем источники для этого пользователя также должны быть доступны на экране входа в систему. Не могли бы вы снова изменить свой вопрос и показать нам содержимое /etc/default/keyboard, то есть запустить команду терминала cat /etc/default/keyboard – Gunnar Hjalmarsson 12 March 2018 в 23:45
  • 3
    Я просто создал другого пользователя, и кнопка появилась, чтобы войти в другое меню. Я добавил контент в соответствии с запросом. Изменить: это решило. Я просто удалил другого пользователя после добавления макетов, вышел из сеанса и смог переключить раскладки клавиатуры. – LiveWireBT 13 March 2018 в 04:34
  • 4
    @LiveWireBT: Хорошо, хорошо, что вы его исправили. Я полагаю, что содержимое /etc/default/keyboard, которое вы теперь видите в своем вопросе, находится после того, как вы сделали шаги. – Gunnar Hjalmarsson 13 March 2018 в 15:50

Перейдите в Настройки -> Область & amp; Язык. В правом верхнем углу окна вы увидите кнопку «Вход в систему». Если вы нажмете эту кнопку, пользовательский интерфейс переключится на вариант для системных настроек. Оттуда вы можете добавить источники входных данных, которые вы хотите использовать на экране входа в систему. Если вы выбрали более одного источника, индикатор индикатора источника будет отображаться на экране входа в систему после следующей перезагрузки.

Кнопка может отображаться только в том случае, если более одного пользователя зарегистрированных в системе. В качестве обходного пути вы можете создать нового пользователя и удалить его после внесения необходимых изменений.

2
ответ дан 17 July 2018 в 19:00

Перейдите в Настройки -> Область & amp; Язык. В правом верхнем углу окна вы увидите кнопку «Вход в систему». Если вы нажмете эту кнопку, пользовательский интерфейс переключится на вариант для системных настроек. Оттуда вы можете добавить источники входных данных, которые вы хотите использовать на экране входа в систему. Если вы выбрали более одного источника, индикатор индикатора источника будет отображаться на экране входа в систему после следующей перезагрузки.

Кнопка может отображаться только в том случае, если более одного пользователя зарегистрированных в системе. В качестве обходного пути вы можете создать нового пользователя и удалить его после внесения необходимых изменений.

2
ответ дан 23 July 2018 в 19:47

В моем Ubuntu Budgie 18.04 я просто запустил терминал:

sudo nano /etc/default/keyboard

, а затем изменил нежелательный макет в xxx в строке:

XKBVARIANT="XXX"

сохранить и перезагрузить .

PS: просто скопируйте макет «yyy» с первой строки на строку XKBVARIANT

XKBLAYOUT="yyy"
0
ответ дан 17 July 2018 в 19:00

В моем Ubuntu Budgie 18.04 я просто запустил терминал:

sudo nano /etc/default/keyboard

, а затем изменил нежелательный макет в xxx в строке:

XKBVARIANT="XXX"

сохранить и перезагрузить .

PS: просто скопируйте макет «yyy» с первой строки на строку XKBVARIANT

XKBLAYOUT="yyy"
0
ответ дан 23 July 2018 в 19:47

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

Похожие вопросы: