Bagaimana cara mengatur pintasan keyboard khusus dari terminal untuk berbagai versi Linux?
Pada dasarnya saya ingin tahu di mana Linux menyimpan file cara pintas keyboard dan bagaimana itu bisa diedit.
Pada penelitian saya, saya menemukan file ~/.config/compiz-1/compizconfig
tetapi lebih atau seperti dienkripsi ketika saya mencoba membukanya nano
.
command-line
keyboard
shortcut-keys
Platypus Anonim
sumber
sumber
Jawaban:
Menambahkan keybindings pintas dalam dua langkah dari baris perintah (14.04+)
Menambahkan pintasan khusus dari baris perintah dapat dilakukan, tetapi agak rumit; itu perlu dilakukan dalam beberapa langkah per keybinding. Di sisi lain, itu adalah cukup sederhana dan dapat sangat baik scripted jika Anda entah bagaimana ingin melakukannya dari baris perintah (yang adalah pertanyaan, kan?).
Sama seperti di antarmuka Anda (Pengaturan Sistem> "Keyboard"> "Pintasan"> "Pintasan Khusus"), pintasan keyboard khusus dibuat dari baris perintah dalam dua langkah:
buat keybinding dengan mengedit (menambahkan ke-) daftar yang dikembalikan oleh perintah:
Daftar yang dikembalikan terlihat seperti (jika saat ini hanya satu pintasan):
Terapkan daftar yang diedit dengan perintah:
(keberatan kutip ganda)
NB Tidak perlu mengatakan bahwa penyebutan dalam daftar (misalnya
custom1
,custom2
) harus unik. Jika Anda skrip, skrip harus mencegah duplikat. Dalam hal ini daftar yang diedit akan terlihat seperti misalnya:untuk menambahkan satu keybinding:
custom1
atur propertinya:
nama:
perintah:
Kombinasi tombol (misalnya
<Primary><Alt>g
):Informasi yang berguna dapat ditemukan di sini
Contoh skrip untuk menetapkan pintasan khusus baru
Script di bawah ini dapat digunakan untuk mengatur kombinasi tombol jalan pintas baru dari baris perintah. Ini dapat digunakan dengan perintah (dengan asumsi kombinasi tombol tersedia):
Sebuah contoh:
Untuk mengatur kombinasi tombol cara pintas agar terbuka
gedit
dengan kombinasi tombol Alt+ 7:Naskah:
Cara Penggunaan:
Rekatkan skrip ke file kosong, simpan sebagai
set_customshortcut.py
, jalankan seperti dijelaskan di atas.Beberapa kunci kunci yang paling banyak digunakan (ditemukan secara eksperimental, melihat ke dalam perubahan cara GUI dibuat menjadi nilai yang mengikat):
dll.
sumber
custom-keybinding
seharusnya tidak mengandung "s" di akhir ketika di dalam skema. Tapi, itu harus mengandung "s" ketika bertindak sebagai kunci atau di jalur. Jika tidak, perintah "set" akan melempar pengecualian. Jadi, harap hapus "s"custom-keybinding
dalam skema. Selain itu, skrip python Anda juga harus diperbarui.gsettings
kembalikan@as []
yang tidak mengevaluasi.Jelas ada cara sederhana untuk melakukan itu menggunakan
dconf
:Menggunakan
gsettings
:Anda perlu menambah angka di
custom0
bagian untuk menambahkan lebih banyak binding, yaitu.custom1
,,custom2
dll.Untuk membuatnya permanen, tambahkan saja ke
.bash_profile
atau skrip serupa yang dijalankan oleh shell login. Hanya saja, jangan lakukan itu untuk shell non-login.bashrc
karena dari pengalaman sayadconf
dangsettings
memperlambatnya secara signifikan. Mengubah / Menambahkan 30 binding membutuhkan waktu sebentar! Anda tidak ingin ini di shell non-login (.bashrc
)!sumber
custom0
ke daftar pintasan khusus, misalnya dengangsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['.../custom1/']"
. Saya tidak tahudconf
.dconf dump DIR
untuk Dump seluruh jalan setapak ke stdout. Outputnya dalam format keyfile-like, dengan nilai-nilai dalam sintaks GVariant.Semua pengaturan pintasan keyboard khusus disimpan dalam basis data dconf.
Anda dapat dengan mudah mengaksesnya dengan
dconf-editor
:Lalu pergi ke path dconf berikut di editor:
sumber
Menambahkan keybindings pintas dari baris perintah di 12.04
Untuk mencegah jawaban yang diterima menjadi terlalu luas, memposting solusi terpisah untuk 12,04.
Sampai (dan termasuk) 12.04, keybindings khusus tidak disimpan dalam
dconf
database, tetapi di~/.gconf/desktop/gnome/keybindings
(dalam file xml, dalam subfolder seperticustom0
dll).Script di bawah ini membuat
xml
file dan folder containgnya, secara otomatis dinamai dengan benar.Cara Penggunaan
set_customshortcuts_12.py
Jalankan dengan perintah:
key3
bersifat opsional, perintah dapat berupa:atau
Catatan
sumber
Anda dapat mengatur pintasan khusus baru tanpa skrip python, dengan menggunakan sed. Anda hanya perlu menetapkan nama , pengikatan , dan tindakan sesuai pilihan Anda dalam skrip berikut:
sumber
Menulis skrip untuk itu. Lihat di bawah.
Lihat penggunaan dalam
creatShortcut
doa.sumber
Saya menemukan jawaban yang diposting oleh @JacobVlijm sangat berguna, terutama skrip. Saya mengirim kode ke
bash
. Saya tidak fungsi ini sempurna, mungkin mengandung beberapa bug, namun, itu berfungsi untuk saya.sumber