시스템이 잠자기/멈추는 것을 방지 - Xviewer/VLC로 수행하는 방법

시스템이 잠자기/멈추는 것을 방지 - Xviewer/VLC로 수행하는 방법

Linux Mint가 전체 화면 모드에 있을 때 내 노트북이 잠자기 상태가 되지 않습니다 Xviewer. 전체 화면 앱 VLC과 같은 일부 다른 앱은 절전 모드를 차단하지 않습니다.mpv

XviewerGUI에는 깨어 있는 것에 대한 옵션이 없습니다 .

어떻게 Xviewer예방하고 종료할 수 있나요?

Transmission예를 들어, 이 동작이 유익하다고 생각되는 앱에 대해 수면 방지를 활성화하려면 어떻게 해야 합니까?

답변1

Linux 응용프로그램이 다음과 같이 중단됩니다.D 버스에게 전화 해org.gnome.SessionManager.Inhibit

비교됨금지그리고예방하다

알아채다금지와는 다르다예방하다.금지화면 보호기, 화면 잠금 또는 일시 중지는 컴퓨터가 유휴 상태일 때만 작업이 수행되는 것을 방지하며, 사용자나 다른 프로그램이 수동으로 활성화할 때는 방지하지 않습니다.

특정 애플리케이션이 정지를 억제하는 방법

확산

Preferences전송에는 -> Desktop탭 -> 에 절전을 억제하는 확인란이 있습니다 Inhibit hibernation when torrents are active.

Transmission의 소스 코드를 다운로드했는데 org.gnome.SessionManager.InhibitCinnamon D-Bus 세션의 D-Bus 메서드( )를 호출하는 것을 발견했습니다.

파이어폭스 브라우저

나는 사용했다dbus 모니터Firefox가 비디오를 재생할 때 무엇을 하는지 알아보세요. 비디오 재생이 시작되면 Firefox는 두 가지 호출을 보냅니다:

$ dbus-monitor
. . .
# disable screensaver
method call time=1523976795.844938 sender=:1.104 ->
destination=org.freedesktop.ScreenSaver serial=9 path=/ScreenSaver;
interface=org.freedesktop.ScreenSaver; member=Inhibit
  string "firefox"
  string "video-playing"
# disable sleeping
method call time=1523976795.893407 sender=:1.21 -> destination=:1.3
serial=61 path=/org/gnome/SessionManager;
interface=org.gnome.SessionManager; member=Inhibit
  string "firefox"
  uint32 0
  string "video-playing"
  uint32 8
. . .

마지막 메서드를 호출하면 다음 억제제가 생성됩니다.

$ dbus-send --session --type=method_call --print-reply
--dest=org.gnome.SessionManager /org/gnome/SessionManager
org.gnome.SessionManager.GetInhibitors
method return time=1523969881.311742 sender=:1.3 -> destination=:1.188
serial=491 reply_serial=2
  array [
     object path "/org/gnome/SessionManager/Inhibitor6"
  ]

비디오가 중지되면 억제제가 제거됩니다.

$ dbus-send --session --type=method_call --print-reply
--dest=org.gnome.SessionManager /org/gnome/SessionManager
org.gnome.SessionManager.GetInhibitors
method return time=1523969881.311742 sender=:1.3 -> destination=:1.188
serial=493 reply_serial=2
  array [
  ]

가시광통신

VLC는 Firefox와 같은 방식으로 절전/일시 정지를 억제합니다.

$ dbus-monitor
. . .
method call time=1523977809.526716 sender=:1.8017 ->
destination=org.freedesktop.ScreenSaver serial=3 path=/ScreenSaver;
interface=org.freedesktop.ScreenSaver; member=Inhibit
  string "vlc"
  string "Playing some media."
method call time=1523977809.527152 sender=:1.21 -> destination=:1.3
serial=91 path=/org/gnome/SessionManager;
interface=org.gnome.SessionManager; member=Inhibit
  string "vlc"
  uint32 0
  string "Playing some media."
  uint32 8
. . .

$ dbus-send --session --type=method_call --print-reply
--dest=org.gnome.SessionManager /org/gnome/SessionManager
org.gnome.SessionManager.GetInhibitors
method return time=1523977813.424421 sender=:1.3 ->
destination=:1.8018 serial=85789 reply_serial=2
  array [
     object path "/org/gnome/SessionManager/Inhibitor7750"
  ]

엑스뷰어

슬라이드쇼를 재생할 때 Xviewer는 위 프로그램과 유사한 D-Bus 메소드를 호출합니다.

수동으로 중단을 비활성화하는 방법

절전/일시 중지를 억제하는 데 널리 사용되는 두 가지 애플릿이 있습니다.카페인그리고미니 프로그램 금지(내장시나몬 애플릿: 하단 패널을 마우스 오른쪽 버튼으로 클릭 -> Add Applets to Panel-> Inhibit Applet. 그러나 이러한 애플릿은 특정 앱이 실행되는 동안 정지 억제 기능을 자동으로 켜거나 끄는 대신 수동으로 켜거나 끕니다.

답변2

systemd-inhibit --what=idle mpv유휴 시간 제한이 비활성화됩니다.

또한 절전(뚜껑 스위치 등을 통해 포함) 또는 종료(전원 버튼을 통해 포함)를 비활성화할 수도 있습니다. 바라보다남자 systemd 억제. 이 명령은 2012년부터 systemd에서 사용할 수 있습니다.

관련 정보