Làm cách nào để thay đổi bàn phím từ dòng lệnh?


65

Làm cách nào để thay đổi bố cục bàn phím từ dòng lệnh? Ví dụ, tôi muốn chuyển từ tiếng Anh sang tiếng Do Thái. Tôi có thể làm điều đó từ lightdm với biểu tượng nhỏ ở góc màn hình.

Câu trả lời:


43

Từ thiết bị đầu cuối

Tiếng Anh sang tiếng Do Thái và ngược lại với Alt+Shift

setxkbmap -option grp:alt_shift_toggle us,il

Bạn có thể thấy tất cả bí danh miền địa phương với lệnh này

cat /etc/locale.alias

Thông tin thêm về setxkbmap trong hướng dẫn

man setxkbmap

Thông tin về cách cài đặt nó khi khởi động: wiki.gentoo.org/wiki/Pal_layout_switching
Adriano P

52

Bạn có thể tìm thấy tất cả các keymap khác nhau ở các vị trí sau:

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

Để thay đổi bố cục bàn phím (ví dụ: tiếng Tây Ban Nha) trong dòng lệnh Linux, hãy nhập lệnh sau:

loadkeys es

Dành cho X:

setxkbmap es

Để làm cho những thay đổi này trở nên rộng rãi, giả sử bạn đang sử dụng Ubuntu, bạn có thể sử dụng các cách sau:

sudo dpkg-reconfigure console-setup

Điều này có tác dụng với tty1, tty2, v.v., nhưng không có tác dụng trong X. Tôi muốn làm điều đó trong X, giống như cách trình chuyển đổi bàn phím trong lightdm hoạt động.
Mắt

Tôi đã thêm một lệnh trong câu trả lời, đây có phải là những gì bạn đang tìm kiếm?
Dr_Bunsen

ĐÚNG! Cảm ơn. Ngoài ra, bạn có thể cập nhật câu trả lời của mình để đề cập đến loadkey, đánh vần là 's' không?
Mắt

2
vâng tôi sẽ, và không cảm ơn. Chỉ cần đánh dấu là đã giải quyết để mọi người biết.
Dr_Bunsen

đối với người dùng redhat, sau đây là những phần có giá trị: /usr/share/X11/xkb/symbols/setxkbmap es
Peter Butkovic

13

Ubuntu 13.10 trở lên

Điều này hoạt động tốt hơn sau đó setxkbmap với chỉ báo bố trí bàn phím Gnome / Unity.

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

0 là chỉ số bố cục (0 mặc định hoặc bố cục trên cùng). Bố cục được lập chỉ mục bắt đầu từ 0.

Để dễ sử dụng, tạo một bí danh.


2
Câu trả lời này là vượt trội bởi vì nó thực sự thay đổi chỉ số. Chỉ là những gì tôi đã tìm kiếm.
Ainar-G

1
cảm ơn. cũng đã sử dụng câu trả lời của bạn tại đây: Askubfox.com/a/984981/6193
Alexey

3
Điều này không hoạt động trên Gnome 3.26. Nó nói "Khóa này không được dùng nữa và bị bỏ qua".
hugomg

@hugomg, ngay bây giờ tôi chưa có quyền truy cập vào gnome mới hơn. nhưng bạn có thể thử sử dụng dconf-editorcông cụ và kiểm tra /org/gnome/desktop/. họ có thể đổi tên nó
user.dz

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

lệnh này cho phép bạn chuyển đổi giữa tiếng Anh và tiếng Do Thái chỉ bằng cách right alt+ shiftvà giải cứu bạn khỏi left alt+ shift.


3

Dường như không có công cụ CLI tiêu chuẩn, nhưng xkb-switch là một công cụ nguồn mở nhỏ để thực hiện công việc. Chỉ cần thử nghiệm nó với Ubuntu 16.04.4 LTS và nó hoạt động hoàn hảo.

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

Điều này có vẻ tốt hơn so với các giải pháp khác vì làm setxkbmap <name>hỏng tất cả các tùy chọn và setxkbmap -layout <name>trong khi bảo toàn các tùy chọn, nó vẫn không thay đổi chỉ báo trên thanh tác vụ cũng như grp_lednếu được đặt.


Hãy cẩn thận

Nếu ~/.config/kxkbrcmục đích sử dụng của bạn LayoutLoopCount(ví dụ: nó được đặt thành ít hơn tổng số bố cục được liệt kê trong LayoutList), như thế này:

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

sau đó xkb-switchsẽ chỉ cho phép bạn chuyển đổi giữa các bố trí trong nhóm hiện tại.


Gọi vào khóa màn hình

Tôi nhận thấy bình luận của bạn:

Ngay trước khi trình bảo vệ màn hình của tôi bật, tôi muốn chuyển sang tiếng Anh để có thể dễ dàng nhập mật khẩu khi tôi quay lại.

Đây chính xác là mục tiêu của tôi, vì vậy đây là câu trả lời:
Để làm điều đó, bạn chỉ cần gói nó vào một kịch bản móc nối dbus-monitornhư muốn thảo luận ở đây .


3

Sử dụng gsinstall trong 18.04+ với Gnome, bạn có thể thêm thêm bố cục bàn phím và chuyển đổi giữa chúng từ dòng lệnh hoặc từ trình chuyển đổi bố trí bàn phím trên máy tính để bàn.

1. Bố trí bàn phím và tùy chọn:

$ 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. Bố trí bàn phím:

$ 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. Thay đổi cách bố trí bàn phím hiện tại từ dòng lệnh:

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

Hiện tại chúng tôi có 3 ngôn ngữ khác nhau, chúng tôi có ba lựa chọn từ 0 đến 2, với 1 là tiếng Tây Ban Nha, 2 là tiếng Na Uy và 3 là tiếng Hy Lạp. Do đó, cài đặt hiện tại thành 1 ở trên làm cho Na Uy bố trí bàn phím hiện tại.

4. Liệt kê tất cả các bố trí bàn phím có thể:

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

5. Thay đổi cách bố trí bàn phím bằng phím tắt:

Một phím tắt được cấu hình sẵn để thay đổi bố cục bàn phím. Phím tắt hiện tại:

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

Một lối tắt mới có thể được thiết lập bằng cách sử dụng bộ cài đặt, nhưng lưu ý không sử dụng lối tắt đã được sử dụng. Để liệt kê tất cả các phím tắt đang sử dụng:

$ 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']
...

Đây là câu trả lời toàn diện nhất, danh tiếng cho việc này.
Julien Chappuis

1

Đối với Ubuntu 18.04 + Gnome, các câu trả lời khác không phù hợp với tôi, nhưng điều này đã làm:

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()"

Đối số trong "inputSource [0]" là chỉ mục của bố cục bàn phím, giống như đối với giải pháp gsinstall.

Tìm thấy nó trên linux StackExchange .


-1

Vì tò mò, tại sao bạn lại làm vậy? Tại sao bạn lại mở một thiết bị đầu cuối và họ gõ một lệnh để chuyển bố cục bàn phím của bạn khi bạn có thể làm như vậy bằng một phím tắt đơn giản! Giả sử bạn sử dụng Ubuntu, nó sẽ là Windows+Space


2
Điều này dường như là nhiều hơn một bình luận và ít câu trả lời.
WinEunuuchs2Unix

Ngay trước khi trình bảo vệ màn hình của tôi bật, tôi muốn chuyển sang tiếng Anh để có thể dễ dàng nhập mật khẩu khi tôi quay lại.
Eyal

Ngoài ra, nó rất hữu ích để tạo các phím tắt tùy chỉnh
Vassilis

Điều này không hoạt động trong Ubuntu 16.04 trên hộp ảo.
Juha Untinen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.