Come faccio a mantenere le mie impostazioni del synclient?


29

L'impostazione predefinita per i touchpad synaptics include una funzionalità incolla mappata nell'angolo in alto a destra del touchpad. Posso disabilitare questo comportamento eseguendo il comando

synclient RTCornerButton=0

Ma ogni volta che riavvio le mie impostazioni vengono ripristinate. Come posso evitare che ciò accada?

Risposte:


18

Devi inserire le impostazioni in un file xorg.conf come segue:

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

Nel nuovo file, digitare

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

  Option "RTCornerButton" "0"

EndSection

15
Non dovresti apportare modifiche locali ai file in / usr / share. Metti invece il nuovo file in /etc/X11/xorg.conf.d/.
jdthood,

@jdthood Questa risposta ha suggerito la modifica di /etc/X11/xorg.conf
Akseli Palén

Come faccio a sapere quale numero dovrei inserire nel nome del file, secondo la mia distribuzione (Ubuntu 16.04)? Alcuni dicono 60-synaptics-options.conf, altri dicono 50-, 51-...
PlasmaBinturong,

1
@PlasmaBinturong Il numero che inizia il nome del file indica l'ordine in cui vengono applicati i file di configurazione; i file con numero inferiore vengono applicati per primi.
FThompson,

@jdthood Non esiste una directory del genere /etc/X11/xorg.conf.d ...
Michael,

13

Il demone delle impostazioni di Gnome può sovrascrivere le impostazioni esistenti (ad esempio quelle impostate in xorg.conf.d) per le quali le impostazioni esistenti in /usr/share/X11/xorg.conf.d/50-synaptics.confvengono ignorate. Ecco come l'ho risolto.

Correre dconf-editor

Modifica /org/gnome/settings-daemon/plugins/mouse/(o /org/cinnamon/settings-daemon/plugins/mouse/per cannella)

Deseleziona l' activeimpostazione

Ora rispetterà la configurazione synaptics esistente del tuo sistema.

Quindi segui la soluzione di monkbroc che funzionerà ora.


Sto usando budgie-desktop sopra gdm, ma anche dopo questo le mie impostazioni vengono
annullate

Caro dio, mi ci è voluto tanto tempo per trovarlo. Grazie per la risposta è stata esattamente la rovina di tutti i miei problemi.
cra0zy,

@ cra0zy, l'ago letterale nel pagliaio, eh?
ugly_duck

1
Ho trovato su Ubuntu 18.04 che qualcosa ha ancora la precedenza sulle mie impostazioni di configurazione anche con la dconf-editorsoluzione. Così, ho invece aggiunto uno script per /etc/profile.d/che può ospitare 10 secondi prima di applicare le impostazioni: (sleep 10; synclient TapButton2=3) &.
FThompson,

9

(Forse) la soluzione più rapida è quella di creare una voce in "Applicazioni di avvio". Potrebbe essere trovato nel launcher dell'unità.

Una voce di esempio è simile a questa:

Nome: Enable Palm Detection

Comando: synclient PalmDetect=1

Commento: Enable synclient palm detection

Questo è essenzialmente equivalente alla risposta di Augustin Riedinger, ma invece di creare manualmente la voce del desktop, lasciamo che Ubuntu lo faccia per noi.


Questo non funziona in MATE
userDepth

1
Funziona bene anche in Gnome 3. Grazie mille!
Vcarel,

8

Il metodo migliore che ha funzionato per me è aggiungere le tue modifiche in Xsession.d, quindi verrà caricato automaticamente per tutti gli utenti quando accedi a X:

(il file non esiste, quindi puoi nominarlo come preferisci. I numeri a sinistra indicano l'ordine in cui verrà eseguito rispetto agli altri file.)

/etc/X11/Xsession.d/80synaptics

(di proprietà di root, con autorizzazioni 644)

Ad esempio, puoi usarlo come base:

#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

Testato su Ubuntu 14.04 e 16.04


Quando lo faccio e rimuovo il commento ad alcune cose come il tocco a 2 e 3 dita, non funziona dopo il riavvio. Ma lo fa quando li inserisco manualmente nel terminale. Quindi cosa potrei fare di sbagliato?
Mason,

@Mason: sei sicuro che non ci sia un errore di sintassi (forse uno strano carattere introdotto se hai "incollato" il codice)? Controllare il /var/log/Xorg.0.logfile di registro per errori o avvisi.
lepe,

Neanche questo ha funzionato per me, è stata probabilmente anche la risposta più promettente. Mi sono disconnesso e ho fatto di nuovo il login per scoprire che il file era ancora lì e che la linea non confermata era come l'ho impostata. Ma dovevo ancora eseguire il comando nel terminale per vederlo funzionare correttamente.
Chris,

@ Chris: Funziona ancora per me nel 16.04. Lo testerò in un'installazione pulita e ti farò sapere qui (probabilmente c'è qualcosa che ho impostato molto tempo fa che lo fa funzionare per me).
lepe,

@lepe Grazie per averci verificato. Ho finito per usare la risposta "Avvio automatico applicazione" (2 in questo momento). Sembra funzionare abbastanza bene. Sto cercando di fermare l'intera spazzatura TapAndDragGesture. Anche dopo averlo impostato su 0, ho ancora una piccola finestra dove lo farà ancora. Forse questa tecnica avrebbe funzionato meglio, non ne sono sicuro.
Chris,

3

Attiva le synclientopzioni tra le sessioni X.

Utilizzando startx( xinit )

Aggiungi eventuali synclient <option>=<value> &righe a .xinitrc prima della riga che esegue il gestore di finestre o l'ambiente desktop , in questo modo:

## ~/.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

L'esempio sopra imposta le synclientopzioni prima di eseguire l' ambiente desktop Xfce . Le righe che iniziano con #sono commenti (non verranno eseguite).

Utilizzando un display manager

Il metodo è lo stesso di xinit, tranne per il fatto che inserisci le synclientrighe in uno script di avvio pertinente per il tuo display manager, ad es /etc/GDM/Init/Default.

Se hai dei dubbi, lascia che ti rimandi all'eccellente ArchWiki . Anche se è specifico per Archlinux, la maggior parte delle soluzioni funziona in ogni distribuzione Linux a causa della natura fai-da-te di Arch. Buona!


Neanche funzionerà ...
Augustin Riedinger,

Uscita di synclient; synclient RTCornerButton=0; synclient?
rld.

2

Sto usando Xubuntu 14.04 e questo potrebbe non funzionare per te. Apri Sessione e avvio o qualunque sia il nome che fa per te. Vai alla scheda Avvio automatico applicazione, di nuovo qualunque sia il nome che fa per te. Fai clic sul pulsante Aggiungi. Conserva il nome e la descrizione che desideri e nel tipo di comando:

synclient RTCornerButton=0

Se si desidera aggiungere più righe, separarle con a ;

Assicurati che il comando che hai appena creato sia selezionato.


1

Aggiungi synclient [Var=Value]alla fine di ~ / .bashrc

esempio: synclient RTCornerButton=0

In questo modo il sistema configurerà questa impostazione del sincronizzatore ogni volta che accedi.


2
Questo non funziona ... I parametri vengono eseguiti quando viene lanciato un bash, non in sessione aperta ...
Augustin Riedinger


0

Tutte le soluzioni suggerite qui non funzionano per me:

  • Voglio che la configurazione sia nella /homecartella in quanto è configurazione locale (quindi posso mantenere i parametri anche se cambio la mia distribuzione per esempio)
  • .bashrco .xinitrcnon sembrano essere eseguiti correttamente

Quindi ho finito per creare un .desktopfile che si avvia automaticamente:

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

Forse non è la soluzione migliore ma funziona per me.


0

Nessuna delle soluzioni ha funzionato per me in Ubuntu 14.04 LTS con desktop Unity. Per rendere permanenti le impostazioni, ho dovuto incollare i comandi di sincronizzazione in uno script di shell e aggiungere lo script di shell alle mie applicazioni di avvio in Unity.

Nota: lo script della shell deve iniziare in modo simile a #!/bin/bashprima dei comandi di sincronizzazione e le autorizzazioni devono essere modificate in eseguibili.


0

Con Wayland (ancora sperimentale in 17.04, ma presto sarà l'impostazione predefinita), hai tutte le impostazioni di cui hai bisogno:

inserisci qui la descrizione dell'immagine


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

aggiungi quelle righe nella sezione "InputClass"

Option "RTCornerButton" "0"

Se stai usando GNOME o Cinnamon Desktop Manager, ci sono buone possibilità che le impostazioni di GNOME / Cinnamon possano sovrascrivere le tue impostazioni personalizzate. Per impedire che le impostazioni di GNOME / Cinnamon abbiano la precedenza sulle tue, apri l'Editor dconf [ dconf-editor] e modifica la seguente voce:

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

Deseleziona attivo .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.