Tôi gặp phải sự cố với Nautilus mà tôi không tìm thấy giải pháp nào ngoài việc tải xuống mã nguồn, thực hiện một số thay đổi và tự biên dịch nó. Vì vậy, bây giờ tôi có hai phiên bản nautilus, phiên bản chính thức từ kho và của tôi với một vài thay đổi. Tôi muốn giữ cả hai.
Điều gì sẽ là một cách tốt để nói với các ứng dụng sử dụng phiên bản Nautilus được biên dịch của riêng tôi khi bắt đầu Nautilus từ trong ứng dụng? (ví dụ: mở thư mục Tải xuống bằng firefox)
Tôi đã tìm ra rằng các cuộc gọi firefox /usr/bin/nautilusđể tôi có thể thay thế nó bằng một liên kết tượng trưng đến chương trình của riêng tôi. Tuy nhiên, tôi tin rằng liên kết tượng trưng này sẽ bị ghi đè ngay khi tôi cài đặt bản cập nhật cho Nautilus. Tôi có thể làm gì khác không?
/usr/bin/nautilusdường như được mã hóa bằng cách nào đó. Nếu nó bị xóa, firefox không làm gì nữa khi tôi cố mở thư mục Tải xuống, mặc dù có một liên kết tượng trưng đến phiên bản nautilus của riêng tôi /usr/local/bin. $PATHBiến của tôi là/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
strace -f -efile,execve -o firefox_syscalls.txt firefoxđể xem ff làm gì. Nếu bạn tìm kiếm nhật ký nautilus, điều đó có thể cho bạn thấy một cái gì đó. (Điều đó -elọc hệ thống gọi execvevà mở tệp / đóng / tên đường dẫn, nếu không, nó sẽ là một lũ futexvà đọc / ghi ổ cắm cho X11).
/usr/local/binkhông hoạt động? tức là firefox tìm kiếm của bạn$PATHvà tìm phiên bản trong/usr/bin, hoặc mã (hoặc công cụ mở xdg của bạn) có mã cứng/usr/bin/nautiluskhông? Cài đặt phiên bản của riêng bạn một cái gì đó trong / usr / local thường hoạt động.