노틸러스에서 소스 코드를 다운로드하고 일부 변경 사항을 작성하고 스스로 컴파일하는 것 외에 다른 해결책을 찾지 못한 문제가 발생했습니다. 이제 저장소의 공식 버전과 몇 가지 변경 사항이있는 두 가지 버전의 노틸러스가 있습니다. 둘 다 지키고 싶습니다.
응용 프로그램 내에서 Nautilus를 시작할 때 응용 프로그램이 컴파일 된 Nautilus 버전을 사용하도록 지시하는 좋은 방법은 무엇입니까? (예 : firefox로 Downloads 폴더 열기)
파이어 폭스 호출을 알아서 /usr/bin/nautilus
내 프로그램에 대한 심볼릭 링크로 바꿀 수있었습니다. 그러나 노틸러스 용 업데이트를 설치하자마자이 심볼릭 링크를 덮어 쓰게됩니다. 내가 할 수있는 다른 일이 있습니까?
/usr/bin/nautilus
어떻게 든 하드 코딩 된 것 같습니다. 그것이 제거되면 Firefox는 다운로드 폴더를 열려고 할 때 더 이상 아무것도하지 않습니다.하지만 내 자신의 노틸러스 버전에 대한 심볼릭 링크가 /usr/local/bin
있습니다. 내 $PATH
변수는/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
strace -f -efile,execve -o firefox_syscalls.txt firefox
ff가 무엇을하는지 알 수 있습니다 . 에서 로그를 검색 nautilus
하면 무언가가 표시 될 수 있습니다. (이것은 -e
시스템 호출 execve
및 파일 열기 / 닫기 / 경로 이름 항목 을 필터링합니다 . 그렇지 않으면 futex
X11에 대한 초과 및 소켓 읽기 / 쓰기 가 될 것입니다 ).
/usr/local/bin
해도 작동하지 않습니까? 즉, Firefox가 귀하를 검색하여$PATH
에서 버전을 찾 습니까/usr/bin
, 아니면 (또는 xdg-open 물건) 하드 코드/usr/bin/nautilus
입니까? / usr / local에 자신 만의 버전을 설치하면 정상적으로 작동합니다.