내 시작 명령이 실행되지 않는 이유는 무엇입니까?

내 시작 명령이 실행되지 않는 이유는 무엇입니까?

노트북을 구하려고 했는데화면 밝기는 기본적으로 낮은 설정으로 설정됩니다., 그리고 내 경우에는키보드 표시등이 꺼질 예정컴퓨터를 시작할 때.

명령줄에서 실행할 때 작동하는 다음 두 명령이 있습니다.

xbacklight -set 7
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness

나는 그것들을 내 /etc/rc.local파일에 다음과 같이 넣었습니다:

#!/bin/sh -e
# ...
# By default this script does nothing.
echo 0 | tee /sys/class/leds/asus::kbd_backlight/brightness
xbacklight -set 7
exit 0

그러나 두 명령 모두 실행되지 않습니다. ( sudo에 배치할 때 두 번째 명령에서는 이 필요하지 않다고 들었습니다 /etc/rc.local.)

있었다같은 것을 묻는 또 다른 질문rc.local, 그러나 시작 응용 프로그램 GUI 인터페이스를 사용하여 명령도 포함하려고 했습니다. 그것도 작동하지 않았기 때문에 문제는 파일에만 국한되지 않을 수도 있다고 생각합니다 rc.local. 제가 아는 한 목록에 있는 다른 기본 시작 명령은 시작되는 것 같습니다.

시작할 때 실행할 사용자 정의 명령줄을 가져올 수 없는 이유는 무엇입니까?


새로운:몇 가지 실험을 해보니 내가 입력한 명령이 /etc/rc.local실행되는 것 같습니다.~ 전에로그인 화면. 그래서 내 로그인 화면이 적절하게 어두워졌습니다. 그러나 로그인하면 화면이 최대 밝기로 전환됩니다. 따라서 로그인할 때 적용되는 다른 설정이 있거나 /etc/rc.local로그인 화면 자체에만 적용되고 로그인할 때 사용자에게 어떤 일이 발생하는지와는 아무런 관련이 없는 것 같습니다 .

그렇다면 원하는 밝기 및 키보드 조명 설정이 로그인 화면뿐만 아니라 사용자 로그인 세션에도 적용되도록 이 문제를 해결하려면 어떻게 해야 합니까?

답변1

x백라이트 솔루션

1) 실행 가능한 스크립트 파일을 만듭니다. 예:/home/YOU/.bin/낮은 밝기이와 같이:

#!/bin/sh
xbacklight -set 7 &

2) .desktop 파일을 생성합니다. 예:/home/YOU/.config/autostart/lower-brightness.desktop이와 같이:

[Desktop Entry]
Type=Application
Exec=/home/YOU/.bin/lower-brightness
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Lower Screen Brightness
Comment=Screen brightness is set to 7 at startup
Icon=display

답변2

원하는 대로 디스플레이 설정을 하려면 다음 줄을 추가하면 됩니다./etc/rc.local

echo 7 > /sys/class/backlight/intel_backlight/brightness

그러면 밝기를 7로 유지할 수 있습니다.

조금 도움이 되었기를 바랍니다.

답변3

.lightdm

노트북이 시작될 때 NumPad를 켜려고 검색 중이었고 lightdm문서에서 다음을 발견했습니다.

# display-setup-script = Script to run when starting a greeter session (runs as root)
# greeter-setup-script = Script to run when starting a greeter (runs as root)
# session-setup-script = Script to run when starting a user session (runs as root)
# session-cleanup-script = Script to run when quitting a user session (runs as root)

그리고 그것이 해결책입니다. /usr/bin/에 파일을 만들고 /usr/bin/backlight거기에 명령을 작성 해야 합니다 .

#!/bin/bash
xbacklight -set 7
echo 0 | sudo tee /sys/class/leds/asus::kbd_backlight/brightness
exit 0

(또한 xbacklight나에게는 작동하지 않습니다. echo 7 > /sys/class/backlight/intel_backlight/brightness작업을 수행합니다). 을 사용하여 이 파일에 대한 실행 권한을 추가했는지 확인하십시오 chmod a+x /usr/bin/backlight.

예를 들어 다음 줄을 편집하고 작성해야 합니다 /etc/lightdm/lightdm.conf.

session-setup-script=/usr/bin/backlight

그리고 그게 다야. 이제 PC를 다시 시작하십시오.

답변4

왜 아무도 update-rc.d 사용을 제안하지 않았는지 궁금합니다. 나는 스크립트를 /etc/rc.local에 수동으로 넣지 않을 것입니다. 시작 시 프로그램을 실행하려면 다음 방법을 권장합니다.

sudo cp lower-brightness.sh /etc/init.d/
sudo chmod +x /etc/init.d/lower-brightness.sh 
sudo update-rc.d lower-brightness.sh defaults 

이렇게 하면 스크립트가 적절한 실행 수준에 연결됩니다.

관련 정보