전체 세션에서 실행 파일을 덮어쓰려면 어떻게 해야 합니까?

전체 세션에서 실행 파일을 덮어쓰려면 어떻게 해야 합니까?

런타임 시 계산되는 일부 구성을 사용하여 실행하려는 애플리케이션이 있습니다. 이를 달성하기 위해 간단히 별칭을 사용하면 잘 작동합니다. 문제는 실행 파일 자체가 여전히 존재한다는 것입니다. 따라서 .desktop 파일, 바로 가기 또는 터미널의 다른 곳에서 응용 프로그램을 시작하면 별칭을 설정하지 않으면 이 기능을 잃게 됩니다.

나는 실행 파일을 다른 곳으로 옮기고 이를 내가 원하는 방식으로 실행하는 쉘 스크립트로 대체할 가능성을 고려했습니다. 이 솔루션의 문제점은 업데이트로 인해 덮어쓸 수 있으므로 실제로 할 수 있는 작업이 아니라는 것입니다.

어떤 제안이 있으십니까? 기본적으로 실행 파일이 세션 전체에서 전역적으로 실행되는 방식을 변경하고 싶습니다.

저는 현재 아치 리눅스 KDE를 사용하고 있습니다.

답변1

당신에게는 선택권이 있습니다.

  1. 환경 변수, 명령줄 매개변수/옵션 또는 시작 시 실행되는 모든 항목을 포함하도록 .desktop 파일을 수정할 수 있습니다.
  • exec=.desktop 파일의 줄만 수정하면 됩니다.

또는,

  1. 필요에 따라 실행 파일을 시작하는 실행 가능한 sh 스크립트를 생성하여 PATH에 넣을 수 있습니다.
  • 참고: 스크립트에는 실행 파일과 다른 이름을 지정합니다. 바이너리 파일만 보관해야 하며 교체하거나 이동하거나 이와 유사한 것을 시도해서는 안 됩니다.
  1. 그런 다음 .desktop 파일을 편집하여 sh 스크립트를 실행합니다(또는 필요한 경우 별칭을 지정합니다).

어느 솔루션이든 잘 작동할 것입니다.

나는 많은 환경 변수를 설정해야 하는 일부 와인 응용 프로그램에 대해 내 시스템에서 솔루션 #2를 사용하고 있지만 전역적으로 설정할 수는 없습니다(예: .bashrc에서)... 주로 가독성을 위해 이 작업을 수행합니다. 긴 변수 목록으로 .desktop을 수정하는 것은 불편해 보이지만 스크립트에서 읽는 것이 훨씬 쉽습니다.

답변2

업그레이드를 방해하는 변경 사항을 피하는 쉬운 방법은 시스템 디렉터리가 아닌 다른 곳에 변경하는 것입니다.

홈 디렉토리에 자신의 프로그램을 위한 디렉토리를 생성하십시오. 즉, ~/bin이를 추가 $PATH하고 거기에 쉘 스크립트를 넣거나 데스크탑 링크를 지정하십시오.

관련 정보