가끔 xdg-open somefile.ext
터미널 세션에서 접속하다가 나중에 열었던 애플리케이션이나 뷰어를 닫을 수 있기를 원합니다. xdg-close
기존 창을 확인하여 어떤 보고서가 열려 있는지 확인한 somefile.ext
다음 응용 프로그램을 닫거나 종료하는 유사한 기능이 있기를 바랐습니다 .
다른 이름으로 비슷한 것이 존재합니까?
답변1
열려 있는 파일이 삭제되지 않았다고 가정하면 다음 명령은 파일이 열려 있는 모든 응용 프로그램을 강제로 닫습니다.
fuser -k -TERM FILE
FILE
해당 파일의 이름으로 바꿉니다 .
이럴 수도 있으니 참고하세요매우조심하지 않으면 위험할 수 있습니다. 예를 들어 실수로 홈 디렉토리를 전달한 경우 시스템의 현재 로그인 세션(그래픽 및 텍스트)이 모두 종료되고 대부분의 백그라운드 프로세스가 종료됩니다.
어떤 응용 프로그램에 파일이 열려 있는지 알고 있다고 가정하면 이를 수행하는 보다 안전한 데스크톱 환경 관련 방법이 있지만 여기서는 좋은 조언을 드릴 만큼 이에 대해 충분히 알지 못합니다.
이제 명령이 없는 이유는 다음과 같습니다 xdg-close
.
xdg-open
사용자가 특정 파일을 열려고 할 때 파일 관리자 또는 웹 브라우저와 같은 도구가 기본 응용 프로그램이 호출되도록 보장할 수 있도록 존재합니다. 즉, 파일을 여는 데 사용되는 내용을 변경하려고 할 때 시스템의 모든 응용 프로그램을 거칠 필요는 없지만 한 곳에서 기본값을 설정할 수 있으며 응용 프로그램은 그렇지 않습니다. 그들이 원할 때 그것을 사용할 필요는 없습니다. 다른 응용 프로그램에서 무엇인가를 열고 싶을 때, 사용하고 있는 데스크탑 환경에 주의하십시오. 명령줄에서 수동으로 호출할 수 있지만 그런 목적으로 설계된 것은 아닙니다.
오토메이션폐쇄특정 파일을 여는 애플리케이션은 사용자에게 친숙하지 않습니다. 귀하의 웹 브라우저에는 다운로드한 PDF를 보기 위해 연 PDF 뷰어를 닫을 수 있는 권한이 없습니다. 그런데 이 작업을 수행하는 데 도구가 필요한 이유는 무엇입니까? 또한 데스크탑 환경은 어떤 응용 프로그램이 어떤 파일을 열고 있는지 추적하지 않습니다(OS는 어떤 프로세스(응용 프로그램과 1:1로 매핑되지 않음)가 어떤 파일을 열고 있는지 추적함). 따라서 실제로 쉬운 일은 없습니다. 이를 달성하는 방법도 괜찮습니다.
그만한 가치가 있기 때문에 xdg-open
명령으로 존재하는 유일한 이유는 DBus가 FreeDesktop.org 사양의 일부가 되기 전에 시작되었기 때문입니다. 그렇지 않으면 불필요한 백그라운드 프로세스에서 제공하는 또 다른 DBus API 호출일 것이 거의 확실합니다.