[РЕШЕНО] Вопрос про localectl

Доброго времени суток!

Что-то я запутался
Имеем:
[user@server ~]$ systemctl --version
systemd 208
+PAM -LIBWRAP -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ
[user@server ~]$ 

[user@server ~]$ localectl status
   System Locale: LANG=ru_RU.utf8
       VC Keymap: ru
      X11 Layout: ru,us
       X11 Model: pc105
     X11 Variant: grp:ctrl_shift_toggle
Здесь интересна строчка
 X11 Variant: grp:ctrl_shift_toggle
Т.е., судя по выхлопу, grp:ctrl_shift_toggle относится к X11 Variants.

Однако:
[user@server ~]$ localectl list-x11-keymap-variants --no-pager | grep grp:ctrl_shift_toggle
[user@server ~]$
Но:
[user@server ~]$ localectl list-x11-keymap-options --no-page | grep grp:ctrl_shift_toggle
grp:ctrl_shift_toggle
[user@server ~]$
Так все-таки, куда относится grp:ctrl_shift_toggle, к options или к variants?
minoshi
Так все-таки, куда относится grp:ctrl_shift_toggle, к options или к variants?

localectl status
   System Locale: LANG=ru_RU.UTF-8
                  LC_COLLATE=C
       VC Keymap: ruwin_alt_sh-UTF-8
      X11 Layout: us,ru
       X11 Model: pc105
     X11 Variant: -
     X11 Options: terminate:ctrl_alt_bksp,grp:alt_shift_toggle,grp_led:scroll
а это значит что у тебя конфиг иксов не правильный!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Процитирую себя же:
localectl set-x11-keymap us,ru pc104 "" grp:alt_shift_toggle,grp_led:none
Хоть в мане и написано set-x11-keymap LAYOUT [MODEL] [VARIANT] [OPTIONS], команда интерпретируется неправильно, если MODEL и/или VARIANT пропущены. Поэтому не удивляйтесь пустым кавычкам и не забывайте про них.
lampslave, в самую точку, брат!

[root@server user]# localectl set-x11-keymap us,ru pc104 "" grp:alt_shift_toggle
[root@server user]# locale
locale      localectl   localedef   locale-gen
[root@server user]# localectl status
   System Locale: LANG=ru_RU.utf8
                  LC_COLLATE=C
       VC Keymap: us
      X11 Layout: us,ru
       X11 Model: pc104
     X11 Options: grp:alt_shift_toggle
P.S. Соберешься в Кузбасс, уведоми меня - пивом угощу, ну или чего ты там пьешь.
Апну старую тему.

Решил на досуге почитать вики https://wiki.archlinux.org/index.php/Keyboard_configuration_in_Xorg

Смотрю, предлагают делать команду localectl set-x11-keymap от юзера. Попробовал, спросила пароль юзера

 $ localectl set-x11-keymap us,ru
создался файл
$ ls -l /etc/X11/xorg.conf.d/
...
-rw-r--r-- 1 root root  235 июн 21 15:58 00-keyboard.conf

Это что получается, любой юзер может менять настройки x11-keymap для всей системы?
видать твой пользователь находится в группе которой разрешено это.
да и эта утилита работает не правильно, и может испортить уже настроенные файлы 00-keyboard.conf и vconsole.conf, стерев из них другие параметры!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
sirocco
Попробовал, спросила пароль юзера
localectl автоматически запускает sudo, как и yaourt например.
lampslave
localectl автоматически запускает sudo, как и yaourt например.
yaourt - понятно sudo pacman.
А localectl вызывает sudo для какого бинарника? У меня нет в sudoers =ALL

Да и вывод не похож
$ localectl set-x11-keymap us,ru
==== AUTHENTICATING FOR org.freedesktop.locale1.set-keyboard ===
Чтобы настроить параметры клавиатуры, необходимо пройти аутентификацию.
Authenticating as: *******
Password: 
==== AUTHENTICATION COMPLETE ===
Хм, а может и нет. В зависимостях я sudo не нашёл. Надо погуглить.

UPD: ради интереса можно создать нового юзера и попробовать из-под него.

UPD2: да, это реально не sudo, но спать можно спокойно:
[test@arch ~]$ groups
test
[test@arch ~]$ localectl set-x11-keymap us,ru
==== AUTHENTICATING FOR org.freedesktop.locale1.set-keyboard ===
Чтобы настроить параметры клавиатуры, необходимо пройти аутентификацию.
Authenticating as: root
Password: 
Что-то там такое в мане написано про polkit, скорее всего всё упирается в группу adm.

UPD3: /usr/share/polkit-1/actions/org.freedesktop.locale1.policy
sirocco
А localectl вызывает sudo для какого бинарника?
бинарник не запускается! проверяется разрешение на выполнение данного действия через PolicyKit.
https://github.com/systemd/systemd/blob/27f7454c3875eadb348dc26bb1a08bd30d12e7b3/src/locale/localectl.c
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
 
Зарегистрироваться или войдите чтобы оставить сообщение.