특정 날짜에 Linux 시스템 사용자가 "소요한 시간"에 대한 정보를 얻고 싶습니다. 이는 사용자가 화면을 잠금 해제할 시간이 있음을 의미합니다. 대신 이 명령은 ac
화면이 잠겨 있거나 대기 중인 시간을 포함하여 사용자가 로그인한 전체 시간을 표시합니다.
제가 아는 한, who
명령어로 표시되는 유휴 시간은 화면 잠금 해제에 걸리는 시간과 다릅니다. 따라서 이것은 분명히 해결책이 아닙니다.
오픈 소스 프로그램시간 kpr필수 정보를 표시하지만 이번 주에만 해당됩니다. 아마도 해당 계산을 위한 코드가 추출될 수 있을 것입니다. 하지만 내 프로그래밍 실력은 형편없다.
답변1
제가 아는 한 who 명령으로 표시되는 유휴 시간은 화면 잠금 해제 시간과 다릅니다.
No.는 who
그래픽 세션이 출현하기 이전에 만들어진 프로그램입니다. "잠금 화면"이 무엇인지 전혀 모릅니다.
일반적으로 화면 잠금은 전체 화면에서 실행되고 모든 키 입력을 캡처하는 일반적인 프로그램입니다. 따라서 컴퓨터의 관점에서 볼 때 사용자는 로그아웃되지 않습니다. 단지 잠금 화면이 표시되는 동안 많은 작업을 수행하지 않을 뿐입니다.
운 좋게도 최근 몇 년 동안 대부분의 Linux 배포판은 사용자 세션 및 시트 관리가 어떤 모습이어야 하는지에 대해 어느 정도 합의에 이르렀습니다. 이제 그렇게 되었습니다 loginctl lock-session
(세션 관리자가 이를 내부적으로 호출하거나 dbus를 통해 lock 으로 호출할 수 있음).
너할 수 있다dbus를 통해 잠금/잠금 해제 메커니즘을 연결하고 그 사이의 시간을 기록하는 프로그램을 작성하세요. 제가 아는 한 이 작업은 아직 수행되지 않았습니다. loginctl session-status
개념이 있습니다 .나이세션 시간. 좌석이 할당되고 잠금 해제된 시간은 아닙니다.
일반적으로 찾고 있는 정보의 목적은 매우 의심스럽습니다. 사용자는 회계 목적으로 화면이 잠겨 있는 동안 임의의 컴퓨팅/네트워크/저장소 집약적 작업을 수행할 수 있습니다.
답변2
요청하신 내용은 정확히 아니지만 다음 내용을 찾을 수도 있습니다.GNU 회계 유틸리티(acct)효과가있다.
GNU Accounting Utilities는 사용자 연결 시간 및 프로세스 실행 통계에 대한 데이터를 보고하고 요약하는 유틸리티 세트입니다.
로그인 통계는 연결 시간을 기준으로 시스템 리소스 사용량 요약을 제공하고, 프로세스 통계는 시스템에서 실행된 명령을 기준으로 요약을 제공합니다.
대부분의 배포판(예: Debian 등)에서 작동합니다.apt-get install acct
참고: 사용자와 사용자의 프로세스, 실행 시간 등을 추적하면 성능에 영향을 미칠 수 있습니다. 로드가 적은 고급 시스템에서는 문제가 되지 않지만 로드가 많거나 저사양 시스템에서는 매우 눈에 띌 수 있습니다.