Linux에서 systemd-inhibit 방지

Linux에서 systemd-inhibit 방지

질문

애플리케이션 사용을 차단할 수 있나요 systemd-inhibit?

왜?

systemd-inhibit애플리케이션이 , /etc/systemd/logind.conf특히 HandleLidSwitch=ignore및 의 지시문을 재정의할 수 있도록 허용합니다 .HandleLidSwitchDocked=ignoreLidSwitchIgnoreInhibited=no

어느 시점에서 거의 모든 데스크탑 환경의 개발자는 다음을 포함하여 이 작업을 수행할 수 있다는 것을 발견했습니다.케이드,난쟁이, 그리고 최근에는계발. 계몽주의의 최신 발전은 나의 현재 질문입니다.

$ systemd-inhibit 
WHO           UID  USER    PID COMM          WHAT                                                                       WHY              MODE 
Enlightenment 1000 <username> 769 enlightenment handle-power-key:handle-suspend-key:handle-hibernate-key:handle-lid-switch Normal Execution block

1 inhibitors listed.

$

더 나쁜 것은 깨달음의 구성이 그 사건에서 무슨 일이 일어나야 하는지, 즉 뚜껑이 닫히는 것을 명시하는 것을 허용하지 않는다고 생각합니다. 그래서 덮개를 닫을 때마다 노트북이 일시 중지됩니다. 이것은 매우 나쁜 일이며 일어나서는 안 되는 일입니다. 그래서 애초에 , 및 를 HandleLidSwitch=ignore사용 HandleLidSwitchDocked=ignore했습니다 . 깨달음이 실행되지 않으면 모든 것이 괜찮습니다. 깨달음이 실행될 때 시스템이 자동으로 중단되지 않고 뚜껑을 닫을 수 없습니다.LidSwitchIgnoreInhibited=no/etc/systemd/logind.conf

내 생각에는 어떤 응용 프로그램이 내 응용 프로그램을 재정의할 이유가 전혀 없는 것 같습니다 /etc/systemd/logind.conf. 따라서 억제제의 사용을 방지하려고 합니다 enlightenment_start(억제제가 없으면 작동하지 않는 방식으로 구축되지 않기를 바랍니다). 다시 시작하지 마세요.)

관련 질문

답변유제(gnome에서도 거의 같은 일이 발생함) 시스템 억제제는 억제제를 담당하는 응용 프로그램을 종료해야만 제거할 수 있음을 나타내는 것 같습니다. 이것이 옵션이 아닌 경우 원래 응용 프로그램이 억제제를 배치하지 못하도록 하는 것이 좋습니다. 이 작업을 수행하는 방법을 알아보려면 매뉴얼 페이지를 읽어보라고 제안했지만 dbus-daemon이것이 어떻게 관련되는지 이해가 되지 않습니다.

방법

  • 특정 애플리케이션에 대한 억제제 설정 권한을 제한할 수 있나요?
  • 억제제를 완전히 비활성화할 수 있나요?
  • 내가 설정한 것의 동작을 반전시키기 위해 다른 억제제를 설정할 수 있습니까 enlightenment?

대체 데스크탑 환경 사용 시 주의사항 등

내가 아는 모든 데스크탑 환경 개발자는 "사용자 친화성"을 목표로 합니다. 이는 일반적으로 응용 프로그램 자체 내에서 모든 것을 처리하여 구성 파일과의 상호 작용을 제거하는 것으로 이해됩니다. 불행하게도 이로 인해 이 기능을 수행하지 않고 시스템 구성을 동일하게 유지하면서 여전히 일부 기능을 제공하고 일정 수준의 안정성을 갖춘 데스크탑 환경을 찾는 것이 점점 더 어려워지고 있습니다. 적절한 사례: 예를 들어, LXDE를 살펴보았는데, 괜찮아 보이는데, systemctl suspend의도적으로 실행될 때(즉, 컴퓨터가 멈추기를 정말로 원할 때) 화면이 잠길 수도 있고 잠기지 않을 수도 있다는 점만 제외하면 괜찮습니다. 이 모든 문제는 어떤 식으로든 해결될 수 있다고 확신하지만 단지 10년 전의 기능을 복원하는 것만으로는 번거로워 보입니다.

소프트웨어

시스템은 Arch Linux, 커널은 5.5.9, systemd 버전은 245.2, 계몽 버전은 0.23.1입니다.

답변1

logind.conf에는 InhibitorsMax옵션이 있습니다. InhibitorsMax=0억제제가 완전히 비활성화됩니다. 특정 응용 프로그램을 중지할 수 있으면 더 좋겠지만 이것이 지금까지 제가 찾은 것 중 최고입니다.

관련 정보