Jak sprawić, by moje ustawienia synclient pozostały niezmienne?


29

Domyślne ustawienie touchpadów Synaptics obejmuje funkcję wklejania zmapowaną w prawym górnym rogu touchpada. Mogę wyłączyć to zachowanie, uruchamiając polecenie

synclient RTCornerButton=0

Ale za każdym razem, gdy uruchamiam ponownie, moje ustawienia są przywracane. Jak temu zapobiec?

Odpowiedzi:


18

Musisz umieścić ustawienia w pliku xorg.conf w następujący sposób:

sudo gedit /usr/share/X11/xorg.conf.d/60-synaptics-options.conf 

W nowym pliku wpisz

Section "InputClass"
  Identifier "touchpad catchall"
  Driver "synaptics"
  MatchIsTouchpad "on"
  MatchDevicePath "/dev/input/event*"

  Option "RTCornerButton" "0"

EndSection

15
Nie powinieneś wprowadzać lokalnych zmian w plikach w / usr / share. Zamiast tego umieść nowy plik w katalogu /etc/X11/xorg.conf.d/.
— jdthood

@jdthood Ta odpowiedź sugerowała edytowanie /etc/X11/xorg.conf
— Akseli Palén

Skąd mam wiedzieć, jaki numer powinienem wpisać w nazwie pliku, zgodnie z moją dystrybucją (Ubuntu 16.04)? Niektórzy mówią 60-synaptics-options.conf, inne powiedzmy 50-, 51-...
— PlasmaBinturong

1
@PlasmaBinturong Liczba rozpoczynająca nazwę pliku wskazuje kolejność stosowania plików konfiguracyjnych; pliki o niższym numerze są stosowane jako pierwsze.
— FThompson

@jdthood Nie ma takiego katalogu /etc/X11/xorg.conf.d ...
— Michael

13

Demon ustawień Gnome może zastąpić istniejące ustawienia (na przykład ustawione w xorg.conf.d), dla których istniejące ustawienia /usr/share/X11/xorg.conf.d/50-synaptics.confsą ignorowane. Tak to naprawiłem.

Biegać dconf-editor

Edytuj /org/gnome/settings-daemon/plugins/mouse/(lub /org/cinnamon/settings-daemon/plugins/mouse/cynamon)

Odznacz activeustawienie

Będzie teraz respektował istniejącą konfigurację synaptyczną systemu.

Następnie zastosuj rozwiązanie monkbroc, które będzie działać teraz.


Korzystam z budgie-desktop na gdm, ale nawet po tym moje ustawienia zostają zastąpione ....
— rll

Dobry Boże, zajęło mi to tak dużo czasu. Dzięki za odpowiedź to była właśnie zmora wszystkich moich problemów.
— cra0zy

@ cra0zy, dosłowna igła w stogu siana, co?
— ugly_duck

1
Odkryłem na Ubuntu 18.04, że coś wciąż nadpisuje moje ustawienia conf nawet przy dconf-editorrozwiązaniu. Więc zamiast dodany skrypt /etc/profile.d/, który może pomieścić 10 sekund przed nałożeniem ustawienia: (sleep 10; synclient TapButton2=3) &.
— FThompson

9

(Być może) najszybszym obejściem jest utworzenie wpisu w „Aplikacjach startowych”. Można go znaleźć w programie uruchamiającym jedność.

Przykładowy wpis wygląda mniej więcej tak:

Imię: Enable Palm Detection

Dowództwo: synclient PalmDetect=1

Komentarz: Enable synclient palm detection

Jest to zasadniczo odpowiednik odpowiedzi Augustina Riedingera, ale zamiast ręcznego tworzenia wpisu na pulpicie, pozwalamy Ubuntu zrobić to za nas.


To nie działa w MATE
— userDepth

1
Działa to również dobrze w Gnome 3. Wielkie dzięki!
— vcarel

8

Najlepszą metodą, która działała dla mnie, jest dodanie twoich zmian do Xsession.d, więc załaduje się automatycznie dla wszystkich użytkowników, gdy zalogujesz się do X:

(plik nie istnieje, więc możesz nazwać go, jak chcesz. Liczby po lewej stronie oznaczają kolejność, w jakiej zostaną wykonane w porównaniu z innymi plikami).

/etc/X11/Xsession.d/80synaptics

(własność root, z uprawnieniami 644)

Na przykład możesz użyć tego jako podstawy:

#https://wiki.archlinux.org/index.php/Touchpad_Synaptics
#Palm dimension
#synclient PalmDetect=1
#synclient PalmMinWidth=4
#synclient PalmMinZ=100

#Touchpad sensibility (move)
#synclient FingerLow=10
#synclient FingerHigh=20

#Click detection
#synclient MaxTapTime=180
#synclient MaxTapMove = 242
#synclient MaxDoubleTapTime = 180

#2 finger = right click
#synclient TapButton2=0
#3 finger = middle click
#synclient TapButton3=2
#click corners
#synclient RBCornerButton=0 MaxTapTime
#synclient RTCornerButton=0
#synclient LTCornerButton=0
#synclient LBCornerButton=0

#Oval instead of rectangular
#synclient CircularPad=1

#TapAndDragGesture
#synclient TapAndDragGesture=1

#scroll in sides
#synclient VertEdgeScroll=0
#synclient HorizEdgeScroll=0
#synclient CornerCoasting=0

#2 finger scroll
#synclient VertTwoFingerScroll=1
#synclient HorizTwoFingerScroll=0

#Disable Touchpad on start
#synclient TouchpadOff=1

Testowane w Ubuntu 14.04 i 16.04


Kiedy to robię i odkomentuję niektóre rzeczy, takie jak stuknięcie dwoma palcami i trzema palcami, nie działa po ponownym uruchomieniu. Ale dzieje się tak, gdy ręcznie wprowadzam je w terminalu. Więc co mogę zrobić źle?
— Mason

@Mason: Czy jesteś pewien, że nie wystąpił błąd składniowy (być może wprowadzono jakiś dziwny znak, jeśli skopiowałeś kod)? Sprawdź /var/log/Xorg.0.logplik dziennika pod kątem błędów lub ostrzeżeń.
— lepe

To też nie działało dla mnie, była to prawdopodobnie najbardziej obiecująca odpowiedź. Wylogowałem się i zalogowałem ponownie, aby stwierdzić, że plik nadal tam jest, a sposób, w jaki go ustawiłem, to niezaangażowana linia. Ale nadal musiałem uruchomić polecenie w terminalu, aby zobaczyć, jak działa poprawnie.
— Chris,

@Chris: Wciąż działa dla mnie w 16.04. Przetestuję to w czystej instalacji i dam wam znać tutaj (prawdopodobnie jest coś, co ustawiłem dawno temu, co sprawia, że ​​działa dla mnie).
— lepe

@lepe Dziękujemy za sprawdzenie. Skończyło się na odpowiedzi „Autostart aplikacji” (teraz 2 niżej). To wydaje się działać całkiem dobrze. Próbuję zatrzymać cały śmieci TapAndDragGesture. Nawet po ustawieniu na 0 nadal mam małe okno, w którym nadal będzie to robić. Być może ta technika działałaby lepiej, nie jestem pewien.
— Chris

3

Ustaw synclientopcje między sesjami X.

Korzystanie startx( xinit )

Dodaj dowolne synclient <option>=<value> &wiersze .xinitrc przed wierszem, który uruchamia menedżera okien lub środowisko pulpitu , na przykład:

## ~/.xinitrc
## X11 startup script; sourced by xinit(1) and its frontend startx(1)

## Set Synaptics touchpad options
synclient RTCornerButton=0 &

## Start desktop environment or window manager of your choice
exec startxfce4
# exec startlxde
# exec startkde
# exec i3
# exec dwm

Powyższy przykład ustawia synclientopcje przed uruchomieniem środowiska graficznego Xfce . Linie zaczynające się od #są komentarzami (nie zostaną wykonane).

Korzystanie z menedżera wyświetlania

Metoda jest taka sama jak dla xinit, z tym wyjątkiem, że wstawiasz synclientwiersze w odpowiednim skrypcie uruchamiania dla menedżera wyświetlania, np /etc/GDM/Init/Default.

Jeśli masz jakiekolwiek wątpliwości, pozwól, że odniosę się do doskonałego ArchWiki . Pomimo tego, że jest specyficzny dla Archlinuxa, większość rozwiązań działa w każdej dystrybucji Linuksa ze względu na majsterkowanie Arch. Miłego!


Nie zadziała albo ...
— Augustin Riedinger

Wyjście synclient; synclient RTCornerButton=0; synclient?
— rld.

2

Używam Xubuntu 14.04 i to może nie działać dla ciebie. Sesja otwarta i uruchomienie lub jakakolwiek nazwa jest dla Ciebie. Przejdź do zakładki Autostart aplikacji, ponownie, bez względu na nazwę dla Ciebie. Kliknij przycisk Dodaj. Zachowaj dowolną nazwę i opis w typie polecenia:

synclient RTCornerButton=0

Jeśli chcesz dodać wiele wierszy, oddziel je znakiem ;

Upewnij się, że właśnie utworzone polecenie jest zaznaczone.


1

Dodaj synclient [Var=Value]na końcu ~ / .bashrc

przykład: synclient RTCornerButton=0

To sprawi, że system ustawisz to ustawienie synchronizacji przy każdym logowaniu.


2
To nie działa ... Parametry są wykonywane, gdy uruchamiany jest bash, a nie podczas sesji otwartej ...
— Augustin Riedinger


0

Wszystkie zaproponowane tutaj rozwiązania nie działają dla mnie:

  • Chcę, aby config był w /homefolderze, ponieważ jest to konfiguracja lokalna (więc mogę zachować parametry, nawet jeśli na przykład zmienię dystrybucję)
  • .bashrclub .xinitrcnie wydają się być wykonane poprawnie

W rezultacie stworzyłem .desktopplik, który jest automatycznie uruchamiany:

cat ~/.config/autostart/touchpadconfig.desktop 
[Desktop Entry]
Name=Touchpad Config
GenericName=Touchpad Config
Comment=Sets better default parameters to touchpad
Exec="synclient VertScrollDelta=40 && synclient AccelFactor=0.1 && synclient RightButtonAreaTop && synclient RightButtonAreaLeft=0"
Terminal=false
Type=Application
Icon=input-mouse
Categories=Settings;
StartupNotify=false

Może nie najlepsze rozwiązanie, ale działa dla mnie.


0

Żadne z rozwiązań nie działało dla mnie w Ubuntu 14.04 LTS z komputerem Unity. Aby ustawienia były trwałe, musiałem wkleić polecenia synclient do skryptu powłoki i dodać skrypt powłoki do moich aplikacji startowych w Unity.

Uwaga: Skrypt powłoki musi uruchomić się podobnie jak #!/bin/bashprzed poleceniami synclient, a uprawnienia należy zmienić na wykonywalne.


0

Dzięki Wayland (wciąż eksperymentalnym w 17.04, ale wkrótce będzie domyślnym), masz wszystkie potrzebne ustawienia:

wprowadź opis zdjęcia tutaj


-1
sudoedit /usr/share/X11/xorg.conf.d/50-synaptics.conf

dodaj te wiersze w sekcji „InputClass”

Option "RTCornerButton" "0"

Jeśli korzystasz z GNOME lub menedżera pulpitu Cinnamon, istnieje duża szansa, że ​​ustawienia GNOME / Cinnamon mogą zastąpić ustawienia niestandardowe. Aby zapobiec zastąpieniu ustawień GNOME / Cinnamon, otwórz dconf Editor [ dconf-editor] i edytuj następujący wpis:

/org/gnome/settings-daemon/plugins/mouse/
or
/org/cinnamon/settings-daemon/plugins/mouse/

Odznacz aktywne .

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.