Se desejar que o usuário possa acessar o dispositivo e executar a unidade de serviço, será necessário criar uma regra udev
e definir o MODES
adequado para permitir que o usuário acesse o dispositivo. Basta iniciar o arquivo da unidade, pois User=root
está incorreto, pois você não está executando a sessão como root, mas como seu usuário. Quando você o executa a partir de um terminal raiz, você está ativando um terminal raiz dentro da sessão de usuários. Para obter mais informações, consulte as informações sobre systemd --user
.
Juntando uma regra do udev
Use o comando a seguir para fornecer as informações necessárias para preencher a regra udev
:
udevadm info --path=$(udevadm info -q path -n /dev/input/event3)
A partir da saída do comando acima, crie sua regra do udev em /etc/udev/rules.d/<device>.conf
. Abra-o no seu editor de texto favorito e preencha as variáveis
SUBSYSTEM=="device",
SYSFS{idVendor}=="ID Vendor Here" ,
SYSFS{idProduct}=="ID Model Here",
MODE="666"
Para mais informações sobre como fazer e nomear udev
, dê uma olhada em man udev
ou na Wiki da sua distribuição Linux. Depois de definir as regras, reinicie. E então inicie a unidade uma vez logado no X.
Além disso, aqui está um muito arquivo de unidade de sistema mais sã e depois o que você forneceu.
[Unit]
Description=Actkbd: Daemon for X-independent shortcuts
[Service]
ExecStart=/usr/sbin/actkbd -Dd /dev/input/event3
RemainAfterExit=yes
Type=forking
Restart=always