Các URI đặc biệt của Nautilus


8

Những URI đặc biệt này được sử dụng trong Nautilus được định nghĩa trong Ubuntu ở đâu?

recent:///
trash:///
x-nautilus-desktop:///
computer:///
burn:///

Chúng có thể ngay lập tức mở các vị trí đặc biệt trong Nautilus bằng cách nhập chúng vào thanh đường dẫn.

Và tại sao những thứ này không hoạt động khi tôi mở Nautilus với quyền root (lần đầu tiên khi tôi thấy root đó không có đặc quyền để làm gì đó)?

Câu trả lời:


7

EDIT Sau khi thực hiện thêm một số hoạt động đào, tôi thấy rằng bạn có thể khởi chạy nautilus với quyền root và có quyền truy cập vào các URI đặc biệt bằng cách sử dụng dbus. Lệnh sẽ là

sudo dbus-launch nautilus

Và sau đó các URI đều có sẵn. Thành thật mà nói tôi không 100% tại sao điều này hoạt động nhưng một số thông tin ban đầu tôi tìm thấy dưới đây vẫn có thể hữu ích.


Lý do những URI đó tồn tại là do Nautilus sử dụng một hệ thống tệp ảo có tên là Gnome Virtual File System (gvfs) được xây dựng trên đầu của một hệ thống tệp ảo khác có tên là FUSE. Cụ thể những URI đó được cấu hình trong /usr/lib/gvfs/thư mục có tên gvfsd- *. Đây là các tệp nhị phân, vì vậy đừng thử và chỉnh sửa chúng.

Khi bạn gắn kết chia sẻ Samba bằng Nautilus, nó sử dụng lệnh gvfsd-mount (được lưu trữ /usr/bin) để gắn kết chia sẻ mà bạn chỉ định. Chia sẻ sau đó được gắn vào /run/user/<UID>/gvfs/vị trí id người dùng của bạn (thường là 1000 cho các hệ thống người dùng đơn).

Đối với việc root có thể sử dụng các URI, Ubuntu này và tôi giả sử các bản phân phối khác, hãy cấu hình cầu chì để root không thể sử dụng hệ thống tệp ảo vì lý do bảo mật. Bạn sẽ nhận thấy trong /run/userthư mục không có thư mục 0 cho người dùng root. Các /etc/fuse.conftập tin theo mặc định không được cấu hình để cho phép người dùng truy cập thư mục gốc . Điều này có nghĩa là nếu người dùng của bạn gắn kết một chia sẻ, ngay cả người dùng root cũng không thể xem chia sẻ mà không cấu hình Fuse để cho phép nó.

Tôi chưa thực sự kiểm tra việc cấp quyền truy cập root vào hệ thống tệp Fuse hoặc các URI đặc biệt nhưng bạn có thể may mắn cấu hình nó như được mô tả trong liên kết này hoặc đọc qua trang man Fuse .

Xin lỗi vì câu trả lời RTFM, nhưng tôi không thể tìm thấy giải pháp dứt khoát và nó phụ thuộc vào phiên bản Ubuntu bạn đang sử dụng vì một số thư mục / lệnh đã thay đổi trong các phiên bản gần đây.


Cảm ơn bạn đã thông tin tốt. Bất kỳ ý tưởng tại sao x-nautilus-desktopkhông được xác định / cấu hình trong /usr/lib/gvfs/và nơi nào khác có thể được? Tôi sử dụng Ubuntu 13.10, không có tập tin gọi gvfsd-x-nautilus-desktoptrong /usr/lib/gvfs/, nhưng vẫn URI này ( x-nautilus-desktop:///) đang làm việc. Bắt đầu từ điều này, có lẽ tôi có thể tìm ra cách xác định URI mới. Đây là mục tiêu cuối cùng của tôi ...
Radu Rădeanu

@ RaduRădeanu Tôi nhìn xung quanh nhưng không thể tìm thấy tệp hoặc tham chiếu đến x-nautilus-desktop: /// URI. Tôi không thể tìm thấy bất kỳ tệp nào có tên đó khiến tôi nghi ngờ đó không phải là thành phần mô-đun như các URI khác và có thể được mã hóa cứng trong gvfs hoặc cầu chì. Tôi không phải là nhà phát triển nhiều nhưng bạn có thể muốn kiểm tra mã nguồn gvfs.
Rothgar 16/11/13

OK cảm ơn lần nữa. Tôi sẽ chấp nhận câu trả lời của bạn, nhưng làm ơn, nếu bạn tìm thấy điều gì đó mới mẻ theo nghĩa này, hãy cho tôi biết ...
Radu Rădeanu

1

Không nhiều nhưng đây là một cái gì đó cho tất cả mọi người:

Tại thiết bị đầu cuối hoặc bởi Alt + F2:

gksudo dbus-launch nautilus computer:///

Trên hệ thống gốc, bạn không cần "gksudo" hoặc "dbus-launch"

Vài ví dụ:

computer:/// - objects for each mounted device, plus the network
network:/// - available networks to browse
burn:/// - a virtual folder for burning data CDs/DVDs
smb:/// - available windows/samba network resources
x-nautilus-desktop:/// - desktop objects and icons
file:/// - local files
trash:/// - local trash directory
themes:/// - displays all the themes that are available in the GNOME Desktop
fonts:/// - shows fonts
recent:/// - shows recent files

Mặt khác, trong trang web này cho thấy cách tạo URI cho tập lệnh hoặc chương trình của bạn hoạt động trên firefox và gnome. Có một kịch bản ví dụ khá thú vị mà bạn có thể sử dụng làm tài liệu tham khảo tùy theo nhu cầu của bạn.

Tích hợp trình xử lý lược đồ URI mới cho Gnome và Firefox

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.