Поскольку я использую 16.04, мне нужно вручную запустить службу rc.local, чтобы команды в /etc/rc.local могли быть запущены при запуске. Тем не менее, у меня возникают некоторые проблемы с запуском службы:
sunqingyao@sunqingyao-MacBookAir:~$ sudo service rc.local start
Job for rc-local.service failed because the control process exited with error code. See "systemctl status rc-local.service" and "journalctl -xe" for details.
Здесь вывод systemctl status rc-local.service:
sunqingyao@sunqingyao-MacBookAir:~$ systemctl status rc-local.service
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: failed (Result: exit-code) since Fri 2017-07-14 23:52:04 CST; 2min 13s ago
Process: 2420 ExecStart=/etc/rc.local start (code=exited, status=1/FAILURE)
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: Starting /etc/rc.local Compatibility...
Jul 14 23:52:04 sunqingyao-MacBookAir rc.local[2420]: Failed to connect to X Server.
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: rc-local.service: Control process exited, code=exited status=1
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: Failed to start /etc/rc.local Compatibility.
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: rc-local.service: Unit entered failed state.
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: rc-local.service: Failed with result 'exit-code'.
и для journalctl -xe:
Jul 14 23:52:04 sunqingyao-MacBookAir sudo[2390]: sunqingyao : TTY=pts/0 ; PWD=/home/sunqingyao ; USER=root ; COMMAND=/usr/sbin/service rc.local start
Jul 14 23:52:04 sunqingyao-MacBookAir sudo[2390]: pam_unix(sudo:session): session opened for user root by (uid=0)
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: Starting /etc/rc.local Compatibility...
-- Subject: Unit rc-local.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit rc-local.service has begun starting up.
Jul 14 23:52:04 sunqingyao-MacBookAir rc.local[2420]: Failed to connect to X Server.
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: rc-local.service: Control process exited, code=exited status=1
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: Failed to start /etc/rc.local Compatibility.
-- Subject: Unit rc-local.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit rc-local.service has failed.
--
-- The result is failed.
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: rc-local.service: Unit entered failed state.
Jul 14 23:52:04 sunqingyao-MacBookAir systemd[1]: rc-local.service: Failed with result 'exit-code'.
Jul 14 23:52:04 sunqingyao-MacBookAir sudo[2390]: pam_unix(sudo:session): session closed for user root
Спасибо @ bodhi.zazen за их любезное указание в комментариях к моему вопросу!
Проблема на самом деле вызвана командами в rc.local , который содержит следующую строку для естественной прокрутки:
/usr/bin/synclient VertTwoFingerScroll=1
/usr/bin/synclient HorizTwoFingerScroll=1
/usr/bin/synclient VertScrollDelta=-150
/usr/bin/synclient HorizScrollDelta=-150
Однако для выполнения этой команды требуется подключение к X-серверу, от которого зависят все графические приложения. Однако rc.local выполняется до запуска X-сервера и, следовательно, ошибки Failed to connect to X Server.
Чтобы исправить это, просто удалите эту строку из rc.local, а sudo service rc.local start будет работать нормально. [ ! d5]
Удаление этой строки не позволяет естественной прокрутки. Чтобы сделать это, вам нужно поместить конфигурацию в конфигурационный файл Xorg.
Добавьте следующие строки в /usr/share/X11/xorg.conf.d/60-synaptics-options.conf, обратите внимание, что вам не нужно chmod a+x.
# Synaptic options
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
# Enable natural scrolling
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "VertScrollDelta" "-150"
Option "HorizScrollDelta" "-150"
EndSection
перезагрузка, и естественная прокрутка включена!
Спасибо @ bodhi.zazen за их любезное указание в комментариях к моему вопросу!
Проблема на самом деле вызвана командами в rc.local , который содержит следующую строку для естественной прокрутки:
/usr/bin/synclient VertTwoFingerScroll=1
/usr/bin/synclient HorizTwoFingerScroll=1
/usr/bin/synclient VertScrollDelta=-150
/usr/bin/synclient HorizScrollDelta=-150
Однако для выполнения этой команды требуется подключение к X-серверу, от которого зависят все графические приложения. Однако rc.local выполняется до запуска X-сервера и, следовательно, ошибки Failed to connect to X Server.
Чтобы исправить это, просто удалите эту строку из rc.local, а sudo service rc.local start будет работать нормально. [ ! d5]
Удаление этой строки не позволяет естественной прокрутки. Чтобы сделать это, вам нужно поместить конфигурацию в конфигурационный файл Xorg.
Добавьте следующие строки в /usr/share/X11/xorg.conf.d/60-synaptics-options.conf, обратите внимание, что вам не нужно chmod a+x.
# Synaptic options
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
# Enable natural scrolling
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "VertScrollDelta" "-150"
Option "HorizScrollDelta" "-150"
EndSection
перезагрузка, и естественная прокрутка включена!