xscreensaver + индикатор раскладок и уведомления о нажатии CapsLock

Автор vladimirse, 29 августа 2012, 12:09:33

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

vladimirse

Доброго времени суток, уважаемые.
Использую в организации тонкие клиенты на самосборном дистре на основе Debian. Меры безопасности предписывают лочить экран по бездействию. Для этого используется xscreensaver. Далеко не все пользователи в нашей организации хорошо владеют навыками работы за компьютерами и у них постоянно возникают трудности когда они не могут залогиниться в залоченную систему, потому, что у них нажат капслок или раскладка находится не в латинице. Можно ли как то прикрутить индикатор раскладки и индикатор нажатого капслока к xscreensavers, что бы они были перед глазами?

kobzar

вариант индикации я зыка и капслока на клавиатурных индикаторах не подойдет ?
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.

vladimirse

#2
Цитата: kobzar от 29 августа 2012, 12:14:54вариант индикации я зыка и капслока на клавиатурных индикаторах не подойдет ?

Не, народ про них забывает.

Сообщение объединено: 29 августа 2012, 14:42:11

Еще такой вопрос, как сделать, что бы по умолчанию всегда была русская раскладка?

ihammers

После первого неправильного входя система говорит, что нажат CapsLock.  А вот как сделать так чтобы в момент блокирования системы раскадка переходила в латиницу меня самого интересовала, но поискав ещё тогда... ничего нужного не нашел.

Раскладку можно сделать по умолчанию русской, можно через DE, а можно через xorg.
IMHO: лучше чтобы оставалась латиница по умолчанию.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

kobzar

Я думаю можно воспользоваться вот этим
programs (class Programs)
               The  graphics  hacks  which  xscreensaver runs when the user is
               idle.  The value of this resource is a multi-line  string,  one
               sh-syntax command per line.  Each line must contain exactly one
               command: no semicolons, no ampersands.

               When the screensaver  starts  up,  one  of  these  is  selected
               (according  to  the  mode  setting),  and run.  After the cycle
               period expires, it is killed, and another is selected and  run.

               If  a  line begins with a dash (-) then that particular program
               is disabled: it won't be selected at  random  (though  you  can
               still  select it explicitly using the xscreensaver-demo(1) pro-
               gram.)

               If all programs are disabled, then the screen will just be made
               blank, as when mode is set to blank.

               To  disable a program, you must mark it as disabled with a dash
               instead of removing it from the list.  This is because the sys-
               tem-wide  (app-defaults)  and per-user (.xscreensaver) settings
               are merged together, and if a user just deletes an  entry  from
               their programs list, but that entry still exists in the system-
               wide list, then it will come back.  However, if the  user  dis-
               ables it, then their setting takes precedence.

               If  the  display has multiple screens, then a different program
               will be run for each screen.   (All  screens  are  blanked  and
               unblanked simultaniously.)

               Note  that  you must escape the newlines; here is an example of
               how you might set this in your ~/.xscreensaver file:


                    programs:  \
                           qix -root                          \n\
                           ico -r -faces -sleep 1 -obj ico    \n\
                           xdaliclock -builtin2 -root         \n\
                           xv -root -rmode 5 image.gif -quit  \n

               Make sure your $PATH environment variable is set  up  correctly
               before  xscreensaver  is  launched, or it won't be able to find
               the programs listed in the programs resource.

               To use a program as a screensaver,  two  things  are  required:
               that  that  program  draw  on the root window (or be able to be
               configured to draw on the root window); and that  that  program
               understand  ''virtual root'' windows, as used by virtual window
               managers such as tvtwm(1).  (Generally, this is accomplished by
               just  including  the  "vroot.h"  header  file  in the program's
               source.)

               If there are some programs that you want to run only when using
               a  color  display,  and  others  that you want to run only when
               using a monochrome display, you can specify that like this:

                           mono:   mono-program  -root        \n\
                           color:  color-program -root        \n\

               More generally, you can specify the kind of visual that  should
               be  used  for  the window on which the program will be drawing.
               For example, if one program works best if it  has  a  colormap,
               but  another  works best if it has a 24-bit visual, both can be
               accommodated:

                           PseudoColor: cmap-program  -root   \n\
                           TrueColor:   24bit-program -root   \n\

               In addition to the symbolic visual names  described  above  (in
               the  discussion of the visualID resource) one other visual name
               is supported in the programs list:

                default-n
                    This is like default, but also requests  the  use  of  the
                    default  colormap,  instead  of a private colormap.  (That
                    is, it behaves as if the -no-install  command-line  option
                    was  specified,  but only for this particular hack.)  This
                    is provided because some third-party programs that draw on
                    the  root  window  (notably:  xv(1),  and  xearth(1)) make
                    assumptions about the visual and colormap of the root win-
                    dow: assumptions which xscreensaver can violate.

               If  you  specify  a  particular  visual for a program, and that
               visual does not exist on the screen, then that program will not
               be  chosen  to  run.  This means that on displays with multiple
               screens of different depths, you can  arrange  for  appropriate
               hacks  to  be run on each.  For example, if one screen is color
               and the other is monochrome, hacks that look good in  mono  can
               be run on one, and hacks that only look good in color will show
               up on the other.


       You shouldn't ever need to change the following resources:

И в нем указать выполнение программы - или скрипта который будет насильно менять раскладку через какойнить там xkbmap
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.

vladimirse

Цитата: ihammers от 29 августа 2012, 14:57:50Раскладку можно сделать по умолчанию русской, можно через DE, а можно через xorg.

Да юзеры работают только с русским языком. Пишут письма, общаются в аське и прочее.
DE у меня используется lxde, а индикатор раскладки xxkb.

Решение пока не нагуглилось :(


Сообщение объединено: 29 августа 2012, 15:05:04

Цитата: kobzar от 29 августа 2012, 14:59:27Я думаю можно воспользоваться вот этим

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

ihammers

Можно вот так задать раскладку:
Section "InputDevice"
        Identifier  "Generic Keyboard"
        Driver      "kbd"
        Option      "CoreKeyboard"
        Option      "XkbRules" "xorg"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "us,ru,jp"
EndSection
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

vladimirse

Цитата: ihammers от 29 августа 2012, 15:09:27Можно вот так задать раскладку:

У меня так и стоит, тока без jp )))

Сообщение объединено: 29 августа 2012, 15:11:51

Придумал костыль:
в конфиге .xxkbrc поменять местами картинки языков и выполнить setxkbmap -layout ru,us, но это конечно же криво очень.

kobzar

Думаю мой вариант более трушный!
При запуске скринсейвера автоматом будет происходить какая нить уличная магия типа
setxkbmap ru
и вуоля !
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.

vladimirse

Цитата: kobzar от 29 августа 2012, 15:46:12Думаю мой вариант более трушный!
При запуске скринсейвера автоматом будет происходить какая нить уличная магия типа
setxkbmap ru
и вуоля !

Это да. А как сделать дефолтной русскую раскладку?

kobzar

ну может как то так же ?
setxkbmap -layout ru,us -option "grp:alt_shift_toggle,grp_led:scroll" -variant ",winkeys"
Ты дорого мой друг, заплатишь за ошибку,..
Когда оскал мой милый, ты приймешь за улыбку.

vladimirse

Цитата: kobzar от 29 августа 2012, 15:57:11setxkbmap -layout ru,us -option "grp:alt_shift_toggle,grp_led:scroll" -variant ",winkeys"

Ну я нечто подобное и имел в виду.