- archlinux, переключение раскладки приходится всегда вручную прописывать.
- Для линукса с xorg и SystemD:
- [РЕШЕНО] Переключение раскладки в виртуальной консоли
- Localization (Русский)
- Contents
- Настройка
- Локаль
- Виртуальная консоль
- Шрифты
- Клавиатура
- Советы и рекомендации
- Русские man-страницы
- Перекодировка тегов MP3
- Тонкая настройка клавиатуры и языков в «Линуксе»
archlinux, переключение раскладки приходится всегда вручную прописывать.
Добрейшего. Всё по арчвики. Локализация удалась, консоль пользователя меня встречает русским. Но переключения нет. Таким способом обхожусь, ну скрипт сделал:
В файле /etc/locale.gen раскомментированно ru & en UTF-8.
Дальше только телепаты.
Можно ещё в Xorg.conf прописать вроде бы. А чем не устраивает текущий вариант?
Так это вполне удобный вариант. В автостарт его и наслаждайся.
зачем вы мучаетесь? в xfce4 плагин языковой — добавьте ru и в настройка забиндите клавишу. все.
зачем вы мучаетесь? в xfce4 плагин языковой — добавьте ru и в настройка забиндите клавишу. все.
Есть простой вариант?
В моей сборке не завезли. Искал тщательно.
У меня i3 запускает скрипт со всем, что мне нужно автостартовать. Можно средствами ДЕ, можно через .xinit или .xprofile. Зависит от системы и воображения.
Я, вот даже не пойму, зачем вне Х-ов нужен русский язык? =)
Я люблю с tty сидеть.
простите, но это глупо. зачем?
Чувство причастности к элитке— детство.
За 12 лет пользования я понял одно — Linux готов только для серверного использования и для защищенной рабочей станции.
Для мультимедийных задач, игр, повседневных задач — не готов. И не нужен, чтобы был готов.
Поэтому я дуалбутом накатил 10-ку и иногда поигрываю в hots/стрелялки. wine снес.
Пусть каждый делает свое дело.
Друг, не говори так, ладно?
Мне так удобнее. Объяснять не хочу.
пропишите свой скрипт в rc.local (или как оно там у вас называется)
Можно в /etc/vconsole.conf изменив строчку «KEYMAP=»
Для переключения по alt+shift(левые) выглядит так:
Другие значения лежат тут:
Почему травмирует то? Мне 14-ти летнему было прикольно читать, как Бог наказывал людей, калеча и убивая:)
Идите почитайте Уголовный кодекс своей страны. От начала и до конца. А потом еще раз. И еще раз.
Для линукса с xorg и SystemD:
Настройки раскладок лежат в фаиле /etc/X11/xorg.conf.d/00-keyboard.conf
Его можно отредактировать напрямую, либо использовать команду:
localectl —no-convert set-x11-keymap «us,ru» «» «» grp:alt_shift_toggle
После этого надо перезагрузить иксы командой
systemctl restart display-manager
Если у тебя urxvt терминал, то лучше добавь в
Источник
[РЕШЕНО] Переключение раскладки в виртуальной консоли
# 6 лет, 6 месяцев назад (отредактировано 6 лет, 6 месяцев назад)
# 6 лет, 6 месяцев назад (отредактировано 6 лет, 6 месяцев назад)
# 6 лет, 6 месяцев назад (отредактировано 6 лет, 6 месяцев назад)
2. Внести в данный файл директиву `KEYMAP=` с одним из следующих значений:
— `ruwin_alt_sh-UTF-8` для переключения по ALT-SHIFT;
— `ruwin_cplk-UTF-8` — по Caps Lock;
— `ruwin_ct_sh-UTF-8` — по CTRL-SHIFT.
Существуют и другие значения. Они соответствуют именам файлов без расширений в директории `/usr/share/kbd/keymaps/i386/qwerty/`. Неизвестно, каким образом следует переключать раскладки при использовании этих значений.
Для корректного отображения кириллицы следует использовать шрифт с кириллическими символами:
Перечень шрифтов в `/usr/share/kbd/consolefonts/`.
# 6 лет, 6 месяцев назад (отредактировано 6 лет, 6 месяцев назад)
Qyluqi
Существуют и другие значения. . Неизвестно, каким образом следует переключать раскладки при использовании этих значений.
Ничего неизвестного. Некоторые имеющиеся раскладки предусматривают переключение, некоторые — нет. В моем случае, допустим, переключения не было.
При наличии должного терпения можно сбацать свою раскладку, но проще переделать уже имеющуюся.
Пример (брал ru.map).
Желаю переключалку по Ctrl+Shift:
Далее дописал все нужные символы юникода в модификаторе altgr, напр.:
Запаковал, скопировал в /usr/share/kbd/keymaps/i386/qwerty/, изменил /etc/vconsole.conf, перезагрузился.
Национальная раскладка в консоли имеется.
add. Касаемо переключалки слегка дополнил для понятности.
Источник
Localization (Русский)
Под локализацией (localization, l10n) и интернационализацией (internationalization, i18n) понимается процесс адаптации программного обеспечения к культуре какой-либо страны (см. Википедия:Локализация программного обеспечения).
В статье описано, как настроить поддержку русского языка в Arch Linux.
Contents
Настройка
Локализация системы подразумевает главным образом три вещи: настройку локали и настройку клавиатуры в виртуальной консоли и графическом окружении (Xorg). Ниже приведены краткие рекомендации по каждому из пунктов без углубления в детали. Более подробную информацию можно найти в профильных статьях:
Локаль
Локаль — набор параметров, определяющий региональные настройки пользовательского интерфейса, такие как язык, страна, часовой пояс, набор символов, формат вывода даты, времени, используемая денежная единица. Чтобы настроить русскую локаль в вашей системе, следуйте инструкциям ниже.
Отредактируйте файл /etc/locale.gen , раскомментировав строку ru_RU.UTF-8 UTF-8 , после чего сгенерируйте локаль:
Проверьте, что заявленная локаль теперь доступна, выполнив locale -a . Когда локаль сгенерирована, установите её в качестве системной:
Перезагрузитесь, чтобы изменения вступили в силу. Команда locale без аргументов выводит список относящихся к настройкам локали переменных окружения. Если всё в порядке, то приложения должны «русифицироваться».
Виртуальная консоль
Настройки виртуальной консоли хранятся в файле /etc/vconsole.conf . Создайте файл и добавьте в него следующие строки:
В примере используется шрифт cyr-sun16 из пакета kbd (установлен по умолчанию, зависимость systemd). Если необходим шрифт покрупнее, то набор Terminus содержит шрифты разных размеров с поддержкой кириллических символов. Установите пакет terminus-font , после чего задайте необходимый шрифт переменной FONT в файле /etc/vconsole.conf . Шрифты Terminus именуются по схеме ter-* , список доступных шрифтов можно вывести командой:
Изменения вступят в силу после перезагрузки. Переключение языков привязано к комбинации клавиш Ctrl+Shift .
Шрифты
Установите пакеты ttf-dejavu и ttf-liberation со шрифтами DejaVu и Liberation соответственно.
Клавиатура
Прежде всего необходимо узнать модель клавиатуры. Откройте графический эмулятор терминала (не виртуальную консоль!) и выполните:
Команда вернёт список основных настроек клавиатуры. Нас интересует значение в строке model: . Например, стандартная клавиатура для ПК будет называться pc104 или pc105 . Для игровых клавиатур и клавиатур ноутбуков, которые часто имеют дополнительные клавиши, значение будет другим.
Задайте настройки клавиатуры с помощью утилиты localectl:
- us,ru — устанавливаются две языковые раскладки (layouts), английская (основная) и русская (дополнительная).
- pc105 — модель клавиатуры; если ваша модель отличается, то укажите её.
- «» — т.н. вариант раскладки. Поскольку указана пустая строка, то для обеих языковых раскладок будет использоваться вариант qwerty .
- grp:alt_shift_toggle — блок дополнительных опций; в примере задаётся всего одна опция, переключение языков по комбинации клавиш Alt+Shift .
Перезапустите Xorg или перезагрузитесь, чтобы изменения вступили в силу.
Советы и рекомендации
Русские man-страницы
man показывает страницы с учётом локали. Для принудительного показа русских страниц используйте следующую команду:
Перекодировка тегов MP3
Установите пакет python-mutagen и выполните следующую команду в каталоге с коллекцией MP3-файлов:
Команда перекодирует старые теги из кодировки CP1251 в UTF8, запишет тег версии id3v2.4 и удалит теги первой версии.
Источник
Тонкая настройка клавиатуры и языков в «Линуксе»
Наверное у всех нас за время работы с компьютером накапливается определенный набор бредовых желаний, которые, бывает, засядут в голове и сидят там до тех пор пока не будут выполнены. И тогда особый, ни с чем не сравнимый зуд, заставляет нас вновь и вновь продлевать свою членскую карточку в клубе «Пила и бубен». Благо, «Линукс» — та система, в которой любая настройка может быть осуществлена; да еще и тысячью разных способов. И сегодня мой рассказ будет о том, как я настраивал клавиатуру на вновь приобретенном нетбуке «Эйч-пи мини». И да, «настраивал» здесь — это эвфемизм к словам «реализовывал полный спектр своих странных требований».
Нужно иметь ввиду
Итак, есть несколько вещей, о которых лучше упомянуть, прежде чем вы твердо решите потратить свое драгоценное время на прочтение этого топика.
- Я — пользователь «Арча». Это такой дистрибутив «Линукса». Соответственно, всё что я буду описывать в данной статье апробировалось и работает в приведенном виде только на нем.
- Я — пользователь «и3». Это такой мозаичный (тайловый) оконный менеджер. У пользователей ДЕ могут возникнуть проблемы при попытках повторения у себя описываемых в этой статье манипуляций. Давайте решать вместе.
- Эта статья — не ман. Эта статья — хауту. Здесь будет мало теории и много (относительно) примеров. Из примеров вы сможете собрать свои команды и конфигурации, с шахматами и пианистками. Делающие то, что нужно вам.
Типографские соглашения.
В этом топике приняты следующие соглашения по выделению информации:
- Выделение вводимых пользователем команд осуществляется следующим образом:
$ echo Команда выполненная обычным пользователем
# echo Команда выполненная суперпользователем - Выделение частей конфигурационных файлов осуществляется аналогичным предыдущему способом.
- Названия приложений и сервисов выделены курсивом, например xxkb.
- Пути выделены жирным шрифтом, например, /urs/share/каталог/, или /urs/share/каталог/файл.
Сразу обозначу что мне было нужно, чтобы было ясно, что́ мы будем делать. Я хотел:
- Две раскладки: английскую и привычную русскую.
- Смену раскладок по нажатию «Капса».
- Типографскую раскладку по зажатию правого Альта.
- Светящийся индикатор «Капса» при включенной русской раскладке.
- Индикатор текущей раскладки в виде флага на каждом открытом окне.
- Чтобы новые окна открывались с английской раскладкой.
- Чтобы старые окна сохраняли свою раскладку независимо от переключения раскладок в других окнах.
- Функция «Делит» на правом Контроле (привык к «Делиту» справа внизу, на моем нетбуке он расположен сверху).
- Функция «Инцерт» на клавише «Делит» (той, которая справа сверху).
- Функции «Хом», «Энд», «Пэйдждаун» и «Пэйджап» на клавишах курсора при зажатом правом Альте (на клавиатурах нетбука Эйч-пи Мини 210-ой серии соответствующих кнопок нет ).
- Эмуляция правого мышиного клика по нажатию клавиши Меню.
- Эмуляция среднего мышиного клика по нажатию правый Альт + Меню.
Настройка раскладок
/.xinitrc) или вашим приложением автозапуска (в этом случае она будет выполняться последней), и наконец, читаются настройки, заданные в ГУИ-приложении которое отвечает за параметры клавиатуры. Сразу стоит отметить, что каждый последующий уровень так или иначе сбивает настройки предыдущего. Следует также отметить, что демон gdm в своем конфигурационном файле /etc/gdm/Xsession имеет строки, содержащие команду setxkbmap, и при переключении пользователей также будет сбивать настройки. Проще всего не пользоваться этим демоном или выпилить соответствующие строки из конфига. Кстати, ГНОМовские параметры клавиатуры тоже всего лишь формируют свою команду setxkbmap, которую затем и исполняют. Причем нажатие на кнопочку «параметры по умолчанию» просто выполнит ее per se, без всяких ключей, что как ни странно, не собьет существующих параметров, заданных setxkbmap или в xml-файле, но испортит настройки, заданные с помощью команды xmodmap из
/.xinitrc (решается добавлением команд xmodmap в автозапуск; выше я уже отметил, что он исполняется последним).
Настройка /etc/X11/xorg.conf.d/10-keyboard.conf
Вот как содержимое этого файла выглядит у меня:
Section «InputClass»
Identifier «evdev keyboard catchall»
MatchIsKeyboard «on»
MatchDevicePath «/dev/input/event*»
Driver «evdev»
Option «XkbModel» «pc104»
Option «XkbLayout» «us,ru(winkeys)»
Option «XkbOptions» «grp:caps_toggle,terminate:ctrl_alt_bksp,grp_led:caps,lv3:ralt_switch,misc:typo»
EndSection
Опциями задается модель клавиатуры, две раскладки — английскую и привычную русскую, переключение по нажатию клавиши «Капс», прерывание работы Иксов по нажатию сочетания клавиш Контроль, Альт и «Бэкспейс». Также здесь задается свечение индикатора «Капса» при включенной русской раскладке и переключение на третий уровень правым Альтом. На третьем уровне висит типографская раскладка «typo». В строку опций «XkbOptions» можно включить также «grp:rwin_switch», для временного переключение раскладки при зажатой левой клавише Супер. Вы можете захотеть назначить переключения на другие клавиши, вот примеры: shifts — два «Шифта», alt_shift — Альт + «Шифт», ctrl_shift — Контроль + «Шифт», et cetera. Чтобы при включении русской раскладки загорался индикатор «Скролла», — укажите «grp_led:scroll» вместо «grp_led:caps».
setxkbmap
/.i3/config) или прямо в
/.xinitrc. Если настройки все-таки сбиваются (иначе говоря, если ваша идеология странным образом позволяет использовать ДЕ и отказываться от приложений автозапуска) — можете прибегнуть к варианту со следующей записью в инициализационном скрипте:
exec sleep 45; setxkbmap -option grp:caps_toggle -option lv3:ralt_switch -option grp_led:caps -layout us+typo,ru:2+typo
Указание подождать 45 секунд позволит пропустить всё, что могло переназначить раскладку. Без него строка для включения в скрипт выглядит так:
exec setxkbmap -option grp:caps_toggle -option lv3:ralt_switch -option grp_led:caps -layout us+typo,ru:2+typo
А команда, которую вы можете выполнить в терминале немедленно и наблюдать эффект так:
$ setxkbmap -option grp:caps_toggle -option lv3:ralt_switch -option grp_led:caps -layout us+typo,ru:2+typo
Прошу прощения за излишне подробные примеры, но возможно кому-то они окажутся полезны именно в таком виде. Параметры которые задает эта команда мы уже рассмотрели говоря о файле /etc/X11/xorg.conf.d/10-keyboard.conf. После выполнения команды можете проверить раскладки, переключая их «Капсом», и типографскую раскладку, обращаясь к ее символам с зажатым правым Альтом (например, правый Альт + «-» позволит набрать тире). Полный список значений третьего ряда указывается в файле /usr/share/X11/xkb/symbols/typo. Вы можете изменять или добавлять свои символы для третьего ряда, воспользовавшись сайтом консорциума Юникод чтобы узнать обозначение интересующего вас знака. Например, добавим короткое тире на клавишу с английской буквой «N»:
.
xkb_symbols «base» <
.
key < [NoSymbol, NoSymbol, endash, minus] >;
>;
NB! После « » в примере выше я поставил гифены, чтобы запись не была пропарсена как тег. Прежде чем вставлять запись в свой файл необходимо удалить их.
Обратите внимание, кроме короткого тире (endash) мы назначили минус (minus) на ту же клавишу. Он набирается при зажатии правого Альта с «Шифтом». Хотя у меня минус стоит на клавише «m», но это дело вкуса.
Настройка параметров клавиатуры в ГУИ приложении
Думаю, они достаточно очевидны, чтобы не останавливаться на этом в статье. Тем более что я предупреждал, — речь будет идти в основном о конкретно моем варианте настроек.
Настройка изменений раскладки при переключениях окон и ее индикаторов на каждом из них
Все это сделает одно приложение, — xxkb. Установим его:
# pacman -S xxkb
После установки нужно настроить конфигурационный файл. Создадим его если он не создался сам (
/.xxkbrc) и укажем в нем следующие настройки:
XXkb.image.path:/usr/share/xxkb # Директория, в которой расположены картинки флагов — /usr/share/xxkb
XXkb.button.enable: yes # Включение функции отображения кнопочки — да
XXkb.button.border.width: # Толщина рамки вокруг кнопочки — оставили пустым, рамки не будет
XXkb.button.border.color: # Цвет рамки — оставили пустым
XXkb.button.label.enable: false # Текст на кнопочке — не будет
XXkb.button.label.font: # Шрифт текста на кнопочке — оставили пустым
XXkb.button.label.background: # Фон кнопочки — оставили пустым, у нас ведь будет флажок
XXkb.button.label.foreground: # Цвет шрифта — оставили пустым
XXkb.button.geometry: 14×14-2+1 # Высота, ширина, положение по оси абсцисс (x) относительно правого края, положение по оси ординат (y) относительно верха
XXkb.button.image.1: en15.xpm # Название файла с флажком для первой раскладки, она у нас английская, с ней будут открываться новые окна
XXkb.button.image.2: ru15.xpm # Название файла с флажком для второй раскладки, русской
XXkb.button.image.3: # Название файла с флажком для третьей раскладки — оставили пустым
XXkb.button.image.4: # Название файла с флажком для четвертой раскладки — оставили пустым
XXkb.controls.add_when_start: yes # Начинать контролировать раскладку с запуском приложения
XXkb.controls.add_when_create: yes # Начинать контролировать раскладку каждого окна с его созданием
XXkb.controls.add_when_change: no # Начинать контролировать раскладку окна только если оно в фокусе и в нем изменилась раскладка.
С такой конфигурацией каждое окно моего тайлового менеджера украшено аккуратным флажком, отображающим текущую раскладку, в заголовке. У некоторых пользователей при такой конфигурации приложение не работает должным образом и они советуют добавить вместо «XXkb.controls.add_when_change: no»
XXkb.controls.add_when_change: yes
XXkb.controls.focusout: yes
Более подробно и очень понятно о настройках приложения написано в мане. После сохранения конфигурационного файла запустите его следующей командой:
$ xxkb &
Не забудьте добавить команду в инициализационный скрипт, например
/.xinitrc:
exec xxkb
Переназначение функций клавишам
Для этого нам понадобится два приложения: xev для того чтобы узнать коды и названия клавиш и xmodmap, чтобы переназначить им функции.
$ xev
Откроется окно. По нажатию любой клавиши (кроме физической «Fn») консоль выведет нечто подобное следующему:
KeyRelease event, serial 27, synthetic NO, window 0x2400001,
root 0xfe, subw 0x0, time 34357283, (314,209), root:(318,617),
state 0x0, keycode 118 (keysym 0xff63, Insert), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Здесь нас интересует то, какую клавишу мы нажали, keycode (118 в данном случае) и keysym (Insert). Чтобы переназначит клавишу с помощью xmodmap введем следующую команду:
$ xmodmap -e «keycode 105 = Delete»
Здесь «119» — это код клавиши которой мы хотим назначит ту или иную функцию, а «Delete» — название клавиши, которой эта функция принадлежит по умолчанию. Чтобы подобная команда выполнялась всякий раз при запуске, — поместите ее в
/.xinitrc:
exec xmodmap -e «keycode 119 = Insert»
Кстати, этим же способ можно реализовать временное переключение раскладки при зажатии определенной клавиши:
exec xmodmap -e «keycode 94 = Mode_switch»
К сожалению, однако, он не позволяет назначить курсорам функции «Пэйджап», «Пэйдждаун», «Хом» и «Энд» при зажатом правом Альте. То есть позволять-то он позволяет, такая возможность есть и вы можете проверить ее командой, затем нажимая «Инсерт» в различных сочетаниях с «Капсом», «Шифтом» и Альтом:
$ xmodmap -e «keycode 105 = 1 2 3 4 5 6 7 8»
Но это сбивает возможность динамического выделения нажатием курсоров при зажатом «Шифте». Поняв, что так осуществить задуманное не получится, я стал смотреть в сторону упомянутой ранее /usr/share/X11/xkb/symbols/typo. Я думал добавить туда строку:
key < [NoSymbol, NoSymbol, Home] >;
Но это тоже сбивало выделение и пришлось обратиться к новым приложениям, — xbindkeys и xdotool (их необходимо предварительно установить). Правда первое в моем случае успешно заменила функция bind моего оконного менеджера, но вы можете использовать его. Ниже представлена строка из моего конфигурационного файла
/.i3/config, добавляющая функцию «Пэйджап» левому курсору с зажатым правым Альтом:
bind Mod5+111 exec sleep 0.15; xdotool key Prior
Обратите внимание на костыль в виде задержки в две третьих секунды. Она была подобранна эмпирическим путем. В силу системы очереди xlib и однопоточности xorg без этой задержки наша нотация должным образом работать не будет. Меньше ее делать не рекомендуется— будет срабатывать через раз. Больше — нет смысла. Вот весь участок моего конфига, задающий функции курсорам:
bind Mod5+111 exec sleep 0.15; xdotool key Prior
bind Mod5+116 exec sleep 0.15; xdotool key Next
bind Mod5+113 exec sleep 0.15; xdotool key Home
bind Mod5+114 exec sleep 0.15; xdotool key End
Использовать xbindkeys вместо оконного менеджера для этих целей наверное еще правильнее. Все что нам нужно, — это установить приложение:
# pacman -S xbindkeys
Затем вызвать окошко определения нажатой клавиши или сочетания комадой
$ xbindkeys -k
Нажать клавишу и получить вывод консоли вида:
«(Scheme function)»
m:0x80 + c:108
Mod5 + ISO_Level3_Shift
Прописать в конфигурационный файл
/.xbindkeysrc:
«sleep 0.15; xdotool key Home»
m:0x80 + c:108
Сохранить и выполнить
$ xbindkeys
Также можно добавить команду в инициализационный скрипт. Кроме того, вместо xdotool можно использовать xbkbd. Это приложение — ничто иное как виртуальная клавиатура. Попробуйте установить его и выполнить следующую команду чтобы убедиться в этом:
$ xbkbd
Настройка функций по нажатию клавиш с помощью этой команды в основном аналогична настройке с помощью xdotool и выглядит так:
bind Mod5+111 exec sleep 0.15; xvkbd -text ‘\[Prior]’
Выберите то, что больше по душе ва́м. А мне осталось рассказать о двух способах клавиатурной эмуляции нажатия кнопки мыши.
Эмуляция мышиного клика по нажатию кнопки клавиатуры
Способ 1: с помощью xdotool:
bind 135 exec xdotool click 3
bind Mod5+135 exec xdotool click 2
Первая команда назначает функцию нажатия правой кнопки мыши на клавишу Меню. Вторая — функцию средней кнопки на клавишу Маню с зажатым правым Альтом.
Способ 2: с помощью команды xmodmap. Правда чтобы воспользоваться им придется дополнительно установить пакет xkbset. С его помощью мы разрешим эмуляцию нажатия кнопки мыши и снимем лимит времени на действие этого разрешения (изначально приложение разрабатывалось для людей с ограниченными возможностями по использованию мыши). А затем назначим кнопку на клавишу Меню:
exec xkbset m
exec xkbset exp =m
exec xmodmap -e «keycode 78 = Pointer_Button2»
Заключение
Это все что я хотел рассказать сегодня о настройках клавиатуры. В следующий раз попробуем разобраться с демоном actkbd; возможно с его помощью получится удовлетворить существующим требованиям более изящным образом. А этот текст подготовлен в редакторе Вим, спасибо за внимание ;-)
Источник