Klavyeleri komut satırından nasıl değiştiririm?


65

Klavye düzenini komut satırından nasıl değiştiririm? Mesela İngilizceden İbranice'ye geçmek istiyorum. Ekranımın köşesindeki küçük simgeyle lightdm'den bunu yapabiliyorum.

Yanıtlar:


43

Terminalden

İngilizce İbranice ve tersi ile Alt+Shift

setxkbmap -option grp:alt_shift_toggle us,il

Tüm yerel ayarları diğer adı bu komutla görebilirsiniz

cat /etc/locale.alias

Setxkbmap hakkında daha fazla bilgi

man setxkbmap

Açılışta nasıl ayarlanacağı hakkında bilgi: wiki.gentoo.org/wiki/Keyboard_layout_switching
— Adriano P

52

Tüm farklı anahtar haritaları aşağıdaki konumlarda bulabilirsiniz:

/usr/share/keymaps/i386/
/usr/share/kbd/keymaps/i386/
/usr/share/X11/xkb/symbols/

Klavye düzenini (örneğin İspanyolca'ya) Linux komut satırında değiştirmek için aşağıdaki komutu yazın:

loadkeys es

X için:

setxkbmap es

Bu değişiklikleri sistem genelinde yapmak için, Ubuntu’yu kullandığınız varsayılarak, aşağıdakileri kullanabilirsiniz:

sudo dpkg-reconfigure console-setup

Bunun tty1, tty2 vb. Üzerinde etkisi vardır, ancak X'te etkisi yoktur. Lightdm'deki klavye değiştiricinin çalışmasıyla aynı şekilde X'de yapmak istiyorum.
— Eyal

Cevabına bir komut ekledim, aradığın şey bu muydu?
— Dr_Bunsen

EVET! Teşekkürler. Ayrıca, cevabınızı 's' ile yazılan yük tuşlarından bahsedecek şekilde güncelleyebilir misiniz?
— Eyal

2
evet yapacağım ve teşekkürler. Sadece çözüldü olarak işaretle, böylece herkes bilir.
— Dr_Bunsen

redhat kullanıcıları için, aşağıdakiler değerli parçalardır: /usr/share/X11/xkb/symbols/vesetxkbmap es
— Peter Butkovic

13

Ubuntu 13.10 veya Sonrası

Bu daha iyi çalışır ve Gnome / Unity klavye düzen göstergesi ile setxkbmap.

gsettings set org.gnome.desktop.input-sources current 0

0, düzen dizinidir (varsayılan 0 veya üst düzen). Düzenler 0'dan başlayarak dizine eklenmiştir.

Kolay kullanım için bir takma ad oluşturun.


2
Bu cevap üstündür çünkü göstergeyi değiştirir. Sadece aradığım şeyi.
— Ainar-G

1
Teşekkürler. cevabını burada da kullandın: askubuntu.com/a/984981/6193
— Alexey

3
Bu GNOME 3.26'da çalışmıyor. "Bu anahtar kullanımdan kaldırıldı ve yoksayıldı" yazıyor.
— hugomg

@hugomg, şu anda daha yeni bir cüceye erişimim yok. ancak dconf-editoraracı kullanmayı deneyip deneyebilirsiniz /org/gnome/desktop/. yeniden adlandırabilirler.
— user.dz

12
setxkbmap us,il -option "lv3:ralt_alt,grp:alt_shift_toggle"

Bu komut, İngilizce ile İbranice arasında yalnızca right alt+ ile geçiş yapmanızı shiftve sizi left alt+' dan kurtarmanızı sağlar shift.


3

Standart bir CLI aracı yok gibi görünüyor, ancak xkb-switch işi yapmak için küçük bir açık kaynaklı araç. Sadece Ubuntu 16.04.4 LTS ile test edildi ve kusursuz çalışıyor.

$ xkb-switch       # display current group
ua
$ xkb-switch -l    # list groups
us
ua
$ xkb-switch -s us # switch to a named group
$

Bu, diğer çözümlerden daha iyi görünüyor çünkü setxkbmap <name>tüm seçenekleri mahvediyor ve seçenekleri setxkbmap -layout <name>korurken, görev çubuğu göstergesini veya grp_ledayarlanmadıysa hala başarısız oluyor .


Uyarı

Senin Eğer ~/.config/kxkbrckullandığı LayoutLoopCount(örn o listelenen düzen toplam sayıdan daha az olarak ayarlanır LayoutList, bunun gibi):

LayoutList=us,ua,th,de
LayoutLoopCount=2
Options=grp_led:scroll,grp:rwin_switch,compose:menu,lv3:ralt_switch,
        nbsp:level2,grp:rctrl_toggle,misc:typo

o xkb-switchzaman sadece geçerli gruptaki düzenler arasında geçiş yapmanıza izin verirdi.


Ekran kilidinde çağır

Yorumunuzu farkettim:

Ekran koruyucum açılmadan hemen önce, İngilizce'ye geçmek istiyorum, böylece geri döndüğümde şifremi yazmak kolay olacak.

Bu tam olarak benim amacımdı, işte cevabım şu: Cevap:
Bunu yapmak için, sadece buradadbus-monitor tartışılmak üzere olan bir senaryoya sarılmaya ihtiyacınız var .


3

Gnome ile 18.04+ sürümündeki gsettings'i kullanarak , klavye düzenleri ekleyebilir ve bunlar arasında komut satırından veya masaüstündeki klavye düzeni değiştiricisinden geçiş yapabilirsiniz .

1. Mevcut klavye düzenleri ve seçenekleri:

$ gsettings list-recursively org.gnome.desktop.input-sources
org.gnome.desktop.input-sources show-all-sources false
org.gnome.desktop.input-sources xkb-options ['terminate:ctrl_alt_bksp']
org.gnome.desktop.input-sources per-window false
org.gnome.desktop.input-sources current uint32 1
org.gnome.desktop.input-sources mru-sources @a(ss) []
org.gnome.desktop.input-sources sources [('xkb', 'es'), ('xkb', 'no')]

2. Klavye düzenleri ekleme:

$ gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'no'),('xkb','gr')]"
$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'es'), ('xkb', 'no'), ('xkb', 'gr')]

3. Geçerli klavye düzenini komut satırından değiştirme:

$ gsettings set org.gnome.desktop.input-sources current 1

Şu anda 3 farklı dile sahip olduğumuz için, 0'dan 2'ye üç seçeneğimiz var; bunlardan 1'i İspanyolca, 2'si Norveççe, 3'ü Yunanca. Bu nedenle, akımı 1'e ayarlamak , Norveççe'yi geçerli klavye düzeni yapar.

4. Tüm olası klavye düzenlerini listeleme:

cat //usr/share/X11/xkb/rules/base.lst

5. Klavye düzenini klavye kısayoluyla değiştirme:

Klavye düzenini değiştirmek için bir klavye kısayolu önceden yapılandırılmıştır. Mevcut kısayol:

$ gsettings get org.gnome.desktop.wm.keybindings switch-input-source
['<Super>space']

Gsetting seti kullanılarak yeni bir kısayol ayarlanabilir, ancak kullanımda olan bir kısayolu kullanmamaya dikkat edin. Kullanılan tüm kısayolları listelemek için:

$ gsettings list-recursively org.gnome.desktop.wm.keybindings
org.gnome.desktop.wm.keybindings cycle-windows-backward ['<Shift><Alt>Escape']
org.gnome.desktop.wm.keybindings minimize ['<Super>h']
org.gnome.desktop.wm.keybindings move-to-workspace-7 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-8 @as []
org.gnome.desktop.wm.keybindings move-to-workspace-9 @as []
org.gnome.desktop.wm.keybindings move-to-monitor-left ['<Super><Shift>Left']
...

Bunun için en kapsamlı cevap budur.
— Julien Chappuis

1

Ubuntu 18.04 + Gnome için diğer cevaplar benim için işe yaramadı, ama bu yaptı:

gdbus call --session --dest org.gnome.Shell \
--object-path /org/gnome/Shell \
--method org.gnome.Shell.Eval \
 "imports.ui.status.keyboard.getInputSourceManager().inputSources[0].activate()"

"İnputSources [0]" içindeki argüman, klavye düzeninin dizinidir, gsettings çözümü ile aynıdır.

Üzerinde buldum linux Stack Exchange .


-1

Sadece meraktan sor, neden bunu yaptın? Neden bir terminal açtınız ve basit bir klavye kısayoluyla bunu yapabiliyorsanız klavye düzeninizi değiştirmek için bir komut yazın! Ubuntu'yu kullandığınızı varsayarsak, Windows+Space


2
Bu daha çok yorum ve daha az cevap gibi görünüyor.
— WinEunuuchs2Unix

Ekran koruyucum açılmadan hemen önce İngilizce’ye geçmek istiyorum, böylece geri döndüğümde şifremi yazmak kolay olacak.
— Eyal

Özel klavye kısayolları yapmak için de yararlıdır
— Vassilis

Bu, sanal bir kutudaki Ubuntu 16.04'te çalışmaz.
— Juha Untinen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.