Jak ustawić niestandardowe skróty klawiaturowe z terminala dla różnych wersji systemu Linux?
Zasadniczo chcę wiedzieć, gdzie Linux przechowuje pliki skrótów klawiaturowych i jak można je edytować.
Podczas moich badań znalazłem plik, ~/.config/compiz-1/compizconfig
ale był bardziej lub bardziej zaszyfrowany, gdy próbowałem go otworzyć nano
.
command-line
keyboard
shortcut-keys
Anonimowy Dziobak
źródło
źródło
Odpowiedzi:
Dodawanie skrótów klawiszowych w dwóch krokach z wiersza poleceń (14.04+)
Dodawanie niestandardowych skrótów z wiersza poleceń można wykonać, ale jest to trochę skomplikowane; należy to zrobić w kilku krokach dla każdego klawisza. Z drugiej strony jest to dość proste i może być dobrze napisane w skrypcie, jeśli chcesz to zrobić z wiersza poleceń (to było pytanie, prawda?).
Podobnie jak w interfejsie (Ustawienia systemowe> „Klawiatura”> „Skróty”> „Skróty niestandardowe”), niestandardowe skróty klawiaturowe są tworzone z wiersza poleceń w dwóch krokach:
utwórz skrót klawiszowy, edytując (dodając do) listę zwracaną przez polecenie:
Zwrócona lista wygląda (gdyby był tylko jeden skrót):
Zastosuj edytowaną listę za pomocą polecenia:
(pamiętaj o podwójnych cudzysłowach)
Uwaga Nie trzeba mówić, że wzmianka w liście (np
custom1
,custom2
) powinna być wyjątkowa. Jeśli go wykonasz, skrypt powinien zapobiegać duplikacjom. W takim przypadku edytowana lista powinna wyglądać np .:aby dodać jedno skrót klawiszowy:
custom1
ustaw jego właściwości:
imię:
Komenda:
Kombinacja klawiszy (na przykład
<Primary><Alt>g
):Przydatne informacje można znaleźć tutaj
Przykładowy skrypt do ustawienia nowego niestandardowego skrótu
Poniższego skryptu można użyć do ustawienia nowej kombinacji klawiszy skrótu z wiersza poleceń. Można go używać z poleceniem (przy założeniu, że kombinacja klawiszy jest dostępna):
Przykład:
Aby ustawić kombinację klawiszy skrótu do otwierania
gedit
za pomocą kombinacji klawiszy Alt+ 7:Scenariusz:
Jak używać:
Wklej skrypt do pustego pliku, zapisz go jako
set_customshortcut.py
, uruchom go jak wyjaśniono powyżej.Niektóre najczęściej używane kluczowe wzmianki (znalezione eksperymentalnie, analizujące zmiany wprowadzone przez GUI w wartości wiązania):
itp.
źródło
custom-keybinding
nie powinien zawierać „s” na końcu, gdy znajduje się w schemacie. Ale powinien zawierać „s”, gdy działa jako klucz lub na ścieżce. W przeciwnym razie polecenie „set” spowoduje zgłoszenie wyjątku. Więc usuń „s” zecustom-keybinding
schematu. Poza tym skrypt w Pythonie również powinien zostać zaktualizowany.gsettings
zwraca,@as []
które nie są oceniane.Jest prosty sposób na zrobienie tego za pomocą
dconf
:Używanie
gsettings
:Musisz zwiększyć liczbę w
custom0
części, aby dodać więcej powiązań, tj.custom1
,custom2
itp.Aby było trwałe, po prostu dodaj go
.bash_profile
lub podobny skrypt uruchamiany przez powłoki logowania. Tylko nie rób tego na muszli bez logowania.bashrc
, ponieważ z mojego doświadczenia todconf
igsettings
ją spowolni znacząco. Zmiana / dodanie 30 powiązań zajmuje sekundę! Nie chcesz tego w powłoce niezalogowanej (.bashrc
)!źródło
custom0
do niestandardowej listy skrótów, npgsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['.../custom1/']"
. Za pomocą . Nie wiem, odconf
.dconf dump DIR
do zrzutu całego podścieżkę na standardowe wyjście. Dane wyjściowe są w formacie pliku klucza z wartościami w składni GVariant.Wszystkie niestandardowe ustawienia skrótów klawiaturowych są przechowywane w bazie danych dconf.
Możesz łatwo uzyskać do nich dostęp za pomocą
dconf-editor
:Następnie przejdź do następującej ścieżki dconf w edytorze:
źródło
Dodawanie skrótów klawiszowych z wiersza poleceń w 12.04
Aby zapobiec sytuacji, w której zaakceptowana odpowiedź stanie się zbyt obszerna, opublikuj osobne rozwiązanie dla 12.04.
Do (włącznie) 12.04 niestandardowe skróty klawiszowe nie są przechowywane w
dconf
bazie danych, ale w~/.gconf/desktop/gnome/keybindings
(w pliku xml, w podfolderach takich jakcustom0
itp.).Poniższy skrypt tworzy
xml
plik i jego folder zawierający automatycznie nazwane poprawnie.Jak używać
set_customshortcuts_12.py
Uruchom go za pomocą polecenia:
key3
jest opcjonalny, komendy mogą być na przykład:lub
Notatki
źródło
Możesz ustawić nowy niestandardowy skrót bez skryptu python, używając sed. Musisz tylko ustawić nazwę , powiązanie i akcję do wyboru w następującym skrypcie:
źródło
Napisałem do tego skrypt. Patrz poniżej.
Zobacz użycie w
creatShortcut
wywołaniu.źródło
Uważam, że odpowiedź wysłana przez @JacobVlijm jest bardzo przydatna, zwłaszcza skrypt. Przeniesiłem kod na
bash
. Nie uważam, że ta funkcja jest idealna, może zawierać pewne błędy, jednak działa dla mnie.źródło