Como faço para manter minhas configurações de sincronização?

29

A configuração padrão para touchpads sinápticos inclui uma funcionalidade de colar mapeada para o canto superior direito do touchpad. Eu posso desativar esse comportamento executando o comando

synclient RTCornerButton=0

Mas toda vez que eu reinicio, minhas configurações são revertidas. Como evito que isso aconteça?

cmatofte
fonte

Respostas:

18

Você precisa colocar as configurações em um arquivo xorg.conf da seguinte maneira:

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

No novo arquivo, digite

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

  Option "RTCornerButton" "0"

EndSection
monkbroc
fonte
15
Você não deve fazer alterações locais nos arquivos em / usr / share. Em vez disso, coloque o novo arquivo em /etc/X11/xorg.conf.d/.
Jdthood
@jdthood Esta resposta sugeriu a edição de /etc/X11/xorg.conf
Akseli Palén
Como sei qual número devo colocar no nome do arquivo, de acordo com minha distribuição (Ubuntu 16.04)? Alguns dizem 60-synaptics-options.conf, outros dizem 50-, 51-...
PlasmaBinturong 11/11
1
@PlasmaBinturong O número que inicia o nome do arquivo indica a ordem em que os arquivos de configuração são aplicados; arquivos numerados mais baixos são aplicados primeiro.
FThompson 27/11
@jdthood Não existe esse diretório /etc/X11/xorg.conf.d ...
Michael
13

O daemon de configurações do Gnome pode substituir as configurações existentes (por exemplo, as definidas no xorg.conf.d) para as quais as configurações existentes /usr/share/X11/xorg.conf.d/50-synaptics.confestão sendo ignoradas. Foi assim que eu consertei.

Corre dconf-editor

Editar /org/gnome/settings-daemon/plugins/mouse/(ou /org/cinnamon/settings-daemon/plugins/mouse/canela)

Desmarque a activeconfiguração

Agora ele respeitará a configuração sináptica existente do seu sistema.

Siga a solução da monkbroc, que funcionará agora.

Pato feio
fonte
Iam usando periquito-desktop em cima do gdm, mas mesmo depois de este minhas configurações se anulado ....
RLL
Meu Deus, isso me levou tanto tempo para encontrar. Obrigado pela resposta, foi exatamente a desgraça de todos os meus problemas.
cra0zy
@ cra0zy, a agulha literal no palheiro, hein?
ugly_duck
1
Eu descobri no Ubuntu 18.04 que algo ainda substitui minhas configurações de conf, mesmo com a dconf-editorsolução. Então, eu em vez adicionado um script para /etc/profile.d/que acomoda 10 segundos antes de aplicar as definições: (sleep 10; synclient TapButton2=3) &.
FDompson
9

(Talvez) a solução mais rápida é criar uma entrada nos "Aplicativos de Inicialização". Pode ser encontrado no lançador da unidade.

Uma entrada de exemplo é algo como isto:

Nome: Enable Palm Detection

Comando: synclient PalmDetect=1

Comente: Enable synclient palm detection

Isso é essencialmente equivalente à resposta de Augustin Riedinger, mas em vez de criar a entrada da área de trabalho manualmente, deixamos o Ubuntu fazer isso por nós.

Yixing
fonte
Isso não está funcionando no MATE
userDepth
1
Isso também funciona bem no Gnome 3. Muito obrigado!
vcarel
8

O melhor método que funcionou para mim é adicionar suas alterações no Xsession.d, para que ele seja carregado automaticamente para todos os usuários quando você fizer login no X:

(o arquivo não existe, então você pode nomear o que quiser. Os números à esquerda significam a ordem em que serão executados em comparação com os outros arquivos.)

/etc/X11/Xsession.d/80synaptics

(de propriedade root, com permissões 644)

Por exemplo, você pode usar isso como 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

Testado no Ubuntu 14.04 e 16.04

lepe
fonte
Quando faço isso, e descomente algumas coisas, como o toque com 2 dedos e 3 dedos, ele não funciona após a reinicialização. Mas acontece quando eu os insiro manualmente no terminal. Então, o que eu poderia estar fazendo de errado?
Mason
@Mason: Você tem certeza de que não há um erro de sintaxe (talvez algum caractere estranho seja introduzido se você 'copiar e colar' o código)? Verifique o /var/log/Xorg.0.logarquivo de log para erros ou avisos.
Lepe 27/09
Isso também não funcionou para mim, provavelmente foi a resposta mais promissora. Efetuei logoff e voltei para descobrir que o arquivo ainda estava lá e a linha não confirmada era a maneira que eu o definia. Mas eu ainda tinha que executar o comando no terminal para vê-lo funcionar corretamente.
27417 Chris
@ Chris: Ainda está funcionando para mim em 16.04. Vou testá-lo em uma instalação limpa e informar você aqui (provavelmente há algo que defini há muito tempo que o faz funcionar para mim).
Lepe
@lepe Obrigado por verificar. Acabei usando a resposta "Inicialização automática do aplicativo" (2 no momento). Isso parece funcionar razoavelmente bem. Estou tentando parar todo o lixo do TapAndDragGesture. Mesmo depois de defini-lo como 0, ainda recebo uma pequena janela onde ainda fará isso. Talvez essa técnica funcione melhor, não tenho certeza.
31417 Chris
3

Faça as synclientopções ficarem entre as sessões X

Usando startx( xinit )

Adicione qualquer synclient <option>=<value> &linha .xinitrc antes da linha que executa o seu gerenciador de janelas ou ambiente de área de trabalho , da seguinte maneira:

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

O exemplo acima define synclientopções antes de executar o ambiente de área de trabalho do Xfce . As linhas que começam com #são comentários (elas não serão executadas).

Usando um gerenciador de exibição

O método é o mesmo que para xinit, exceto que você coloca as synclientlinhas em um script de inicialização relevante para o seu gerenciador de exibição, por exemplo /etc/GDM/Init/Default.

Se você tiver alguma dúvida, deixe-me encaminhá-lo para o excelente ArchWiki . Embora sejam específicas para o Archlinux, a maioria das soluções funciona em todas as distros do Linux devido à natureza DIY do Arch. Tenha um bom dia!

rld.
fonte
Não quer trabalhar ...
Augustin Riedinger
Saída de synclient; synclient RTCornerButton=0; synclient?
rld.
2

Estou usando o Xubuntu 14.04 e isso pode não funcionar para você. Abra Sessão e inicialização ou qualquer que seja o nome para você. Vá para a guia Inicialização automática do aplicativo, novamente qualquer que seja o nome para você. Clique no botão adicionar. Mantenha o nome e a descrição que você deseja e no tipo de comando:

synclient RTCornerButton=0

Se você deseja adicionar várias linhas, separe-as com um ;

Verifique se o comando que você acabou de criar está marcado.

Akash Agarwal
fonte
1

Adicione synclient [Var=Value]ao final de ~ / .bashrc

exemplo: synclient RTCornerButton=0

Isso fará com que o sistema defina essa configuração do synclient toda vez que você efetuar login.

lindhe
fonte
2
Isso não funciona ... Os parâmetros são executados quando é lançada uma festa, e não em aberto sessão ...
Augustin Riedinger
0

Todas as soluções sugeridas aqui não funcionam para mim:

  • Eu quero que a configuração esteja na /homepasta, pois é uma configuração local (para que eu possa manter os parâmetros mesmo que eu mude minha distribuição, por exemplo)
  • .bashrcou .xinitrcparece não ter sido executado corretamente

Então, acabei criando um .desktoparquivo que é iniciado 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

Talvez não seja a melhor solução, mas funciona para mim.

Augustin Riedinger
fonte
0

Nenhuma das soluções funcionou para mim no Ubuntu 14.04 LTS com desktop Unity. Para tornar as configurações permanentes, eu tive que colar os comandos synclient em um script de shell e adicionar o script de shell aos meus Aplicativos de Inicialização no Unity.

Nota: O script de shell deve iniciar algo como #!/bin/bashantes dos comandos synclient e as permissões devem ser alteradas para executáveis.

kernpanik
fonte
0

Com Wayland (ainda experimental em 17.04, mas em breve será o padrão), você terá toda a configuração necessária:

insira a descrição da imagem aqui

Nico Schlömer
fonte
-1
sudoedit /usr/share/X11/xorg.conf.d/50-synaptics.conf

adicione essas linhas na seção "InputClass"

Option "RTCornerButton" "0"

Se você estiver usando o gerenciador de desktop GNOME ou Cinnamon, há uma boa chance de que as configurações do GNOME / Cinnamon possam substituir suas configurações personalizadas. Para evitar que as configurações do GNOME / Cinnamon substituam as suas, abra o dconf Editor [ dconf-editor] e edite a seguinte entrada:

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

Desmarque ativo .

Елин Й.
fonte