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.