어떤 명령이 응용 프로그램을 열었는지 어떻게 알 수 있나요?

어떤 명령이 응용 프로그램을 열었는지 어떻게 알 수 있나요?

때때로 내 시스템에 응용 프로그램이 설치되어 있지만 명령줄에서 실행하는 방법을 모르겠습니다.

lsof답을 찾기 위해 저는 일반적으로 GUI에서 애플리케이션을 실행한 후 출력을 Google로 검색하거나 검색합니다(항상 성공적이지는 않음).

더 쉬운 방법이 있어야 합니다. 그것은 무엇입니까?

답변1

데스크탑 환경에서 실행할 수 있는 애플리케이션은 다음과 같습니다..desktop문서, 그들은 /usr/share/applications~/.local/share/applications(엄격히 말하면,해당 XDG 디렉토리, 그러나 이것이 기본 설정입니다). 데스크탑 환경에 표시된 대로 애플리케이션 이름이 주어지면 이러한 파일에서 해당 이름을 찾아 해당 Exec행을 찾을 수 있습니다.

이렇게 하려면 GNOME용 Alacarte와 같은 GUI 메뉴 편집기를 사용하거나무료 메뉴, 또는 명령줄에서 검색하세요.

Alacarte(GNOME의 "주 메뉴")는 사용 가능한 모든 응용 프로그램을 표시하며 각 항목의 속성에는 해당 명령이 표시됩니다.

사용자 실행 프로그램 속성을 보여주는 Alacarte 스크린샷

터미널 창에서 다음 명령을 사용하여 이 "사용자" 애플리케이션을 찾을 수 있습니다.

grep -l Name.\*=Users {/usr,~/.local}/share/applications/*.desktop |
xargs -r grep Exec=

이라고 볼 수 있다

Exec=gnome-control-center user-accounts

물론,

gnome-control-center user-accounts

명령줄에서 해당 패널을 엽니다.

데이터베이스 브라우저의 경우 다음을 실행할 수 있습니다.

grep -l "Name.*=DB Browser" {/usr,~/.local}/share/applications/*.desktop |
xargs -r grep Exec=

어떤 경우에는 Exec라인에 추가 매개변수가 있을 수 있습니다.예를 들어 %f;이것은 매개변수(예: 파일)에 대한 자리 표시자입니다.

관련 정보