
어리석은 생각처럼 들릴 수도 있지만 Compiz Config 설정 관리자에서 구성할 수 있는 투명한 상단 패널을 갖고 싶지만 일시 중지 상태에서 다시 시작하면 더 이상 투명하지 않고 대시를 호출할 때 그래픽 결함이 발생합니다. "unity" 명령을 실행하여 Unity를 다시 시작하면 이 문제가 사라집니다. 그래서 이것을 달성하는 것이 가능한지 궁금합니다. /etc/pm/sleep.d/
명시된대로 스크립트를 설정해 보았습니다 .일시 중지에서 재개한 후 명령을 실행하는 방법은 무엇입니까?하지만 작동하지 않았습니다. 다시 로그인하여 Unity가 다시 시작되기 전에 실행된 것 같습니다.
내가 원하는 것을 달성할 수 있는 방법이 있습니까? 아니면 그냥 포기해야 합니까?
답변1
이동시스템 설정 > 키보드 > 단축키 > 사용자 정의 단축키
새 항목을 만듭니다.
Alt그런 다음 + 와 같은 간편한 키보드 단축키를 설정하면 R일시 중단 후 Unity를 빠르게 다시 시작할 수 있습니다.
나는 귀하의 버그를 겪지 않지만 새 세션마다 이 명령을 실행해야 합니다. 왜냐하면 Unity는 새 세션의 에지 바인딩을 기억하지 않기 때문입니다.
답변2
직접에서systemd-suspens.service 매뉴얼:
Immediately before entering system suspend and/or hibernation systemd-suspend.service (and the other mentioned units, respectively) will run all executables in /usr/lib/systemd/system-sleep/ and pass two arguments to them. The first argument will be "pre", the second either "suspend", "hibernate", or "hybrid-sleep" depending on the chosen action. Immediately after leaving system suspend and/or hibernation the same executables are run, but the first argument is now "post". All executables in this directory are executed in parallel, and execution of the action is not continued until all executables have finished.
몇 가지 테스트를 한 결과 스크립트(모두 실행 가능으로 표시됨 chmod a+x
)를 다음 위치에 넣으면 발견되었습니다./lib/systemd/system-sleep
,/usr 없이, 언급된 대로 실행됩니다.
하지만, 작동하지 않는다고 생각하게 만드는 한 가지 단점이 있습니다. 환경이 다릅니다. 그래픽 명령작동하지 않습니다. 이 문제를 해결할 수 있는 방법이 있을 수 있지만 기본적으로는unity --replace
실패할 것이다X 서버에 연결할 수 없기 때문입니다. 따라서 CTRL-ALT-F1을 누르고 변조 없이 실제 콘솔로 이동하면 작동하지 않는 명령이 작동하지 않습니다.
좋아요, 조사를 하려고 타이핑을 잠깐 멈췄습니다.기본 chroot 위키(chroots에서도 동일한 문제가 발생했기 때문에) 수동으로 호출하면xhost +
~ 전에일시 중지하면 그래픽 명령(내 경우에는 zenity --info --text "1:$1 2:$1"
)이 제대로 작동합니다. 그러나 xhost +
스크립트에서는 호출할 수 없습니다. 당신은 무엇을~할 수 있다xhost +
해야 할 일은 로그인할 때 자동으로 호출하도록 "시작 응용 프로그램"에 프로그램을 추가하는 것입니다 ( .bashrc
추가하면 .bashrc
터미널 에뮬레이터를 열 때마다 실행되기 때문에 거기에 추가하고 추가하지 마십시오). Unity에서는 다를 수 있지만 Ubuntu MATE에서는 로 이동하여 System → Preferences → Personal → Startup Applications
추가를 클릭하여 이 작업을 수행할 수 있습니다.
/lib/systemd/system-sleep/restart-unity
그런 다음 다음 내용으로 파일을 만듭니다 .
#!/bin/bash
export DISPLAY=:0
if [[ "$1" == "post" && "$2" == "suspend" ]]
then
sleep 5
unity --replace
fi
그리고 실행하세요 sudo chmod a+x /lib/systemd/system-sleep/restart-unity
(파일이 루트 소유이고 루트만 쓸 수 있는지 확인하세요).
참고하세요~ 해야 하다사용 bash
. 이는 "if" 문 때문입니다. 에서 수동으로 문을 시도했을 때 sh
해당 부분에서 다양한 오류가 발생했습니다 &&
.
sleep
이것이 없으면 unity --replace
X 서버에 연결하는 데 실패하기 때문에 존재 합니다.
Zesty에 대한 내 테스트에 따르면 이것이 작동할 것입니다.
나는 왜 그것이 작동하지 않는지 알아내려고 15분을 보냈지만 그 export DISPLAY=:0
줄을 잊어버렸다는 것을 깨달았습니다.