Cũng không
xdg-open some_file
cũng không
$EDITOR some_file
là hoàn hảo, trừ khi bạn xác định "mặc định" như bất cứ điều gì họ gọi, đó không phải là ý nghĩa mà nó thường được sử dụng.
Ví dụ, trên các hệ thống xenial của tôi:
Tôi không có biến EDITOR toàn cầu được xác định:
$ env | grep EDITOR
$ echo $EDITOR
$
Vì vậy, $EDITOR some_file
thất bại hoàn toàn trong môi trường gui (x & openbox, trong lxterminal) hoặc trong một tty.
Trong một môi trường gui xdg-open some_file
mở tệp trong vi. Trong một tty đơn giản, nó ATTEMPTS để làm như vậy, nhưng không thành công. Nhưng vi không phải là trình soạn thảo "mặc định" của tôi theo nghĩa từ này được sử dụng phổ biến nhất. Tất cả các trình quản lý tệp mà tôi đã cài đặt đều đồng ý rằng trình soạn thảo mặc định của tôi là ed
(không, không phải RATNG ed
- nếu tôi là người sử dụng khổ dâm đó vi
, tôi ed
là một kịch bản tôi đã viết).
Có thể có sự biện minh cho việc xác định "mặc định" theo nghĩa của một hoặc một trong các lệnh đó, nhưng theo cách sử dụng chung của đại đa số người dùng, "mặc định" là một tính từ được áp dụng cho bất kỳ chương trình nào mở tệp khi bạn nhân đôi hoặc nhấp một lần vào nó trong trình duyệt tệp gui (như Nautilus, Pcmanfm, Thunar, v.v.), (gấp đôi hoặc đơn tùy thuộc vào cài đặt trong trình duyệt tệp THAM GIA đó). Hoặc, thay vào đó, bất kỳ chương trình nào sẽ mở tệp khi bạn tô sáng tệp đó và nhấn enter trong trình duyệt tệp chính thống như Midnight Commander.
Vì vậy, trong cách sử dụng phổ biến nhất của "mặc định", bạn có thể có một mặc định khác nhau cho mỗi trình duyệt tệp và khi bạn nói về mặc định mà không đủ điều kiện, điều đó có nghĩa là bất cứ điều gì là mặc định trong trình duyệt tệp mặc định. Và trình duyệt tệp mặc định trong môi trường đồ họa sẽ là trình duyệt mở ra nếu bạn nhấp đúp vào thư mục (còn gọi là "thư mục") hoặc liên kết tượng trưng đến thư mục trên máy tính để bàn hoặc nếu bạn không sử dụng phép ẩn dụ trên máy tính để bàn, có thể một trong những đặc trưng nhất trong một menu. Theo như tôi biết, theo nghĩa này, đó là cách sử dụng thế giới thực bình thường, câu trả lời của Sumeet Deshmukh là hoàn toàn chính xác và hoàn toàn đầy đủ. Nó có thể là trong các giác quan trừu tượng hơn là tốt.
Trong một môi trường phi đồ họa, bên ngoài trình quản lý tệp chính thống, ý nghĩa chung của từ "mặc định", được áp dụng cho trình chỉnh sửa, không có ứng dụng thông thường. Không ai làm việc trong tty gọi trình soạn thảo với xdg-open some_file
hoặc $EDITOR some_file
trừ khi họ đang làm việc trên máy của người khác, không muốn cài đặt bất cứ thứ gì và đã tuyệt vọng. Họ mở một trình soạn thảo bằng cách gọi trực tiếp trình soạn thảo mà họ muốn mở, THEO TÊN. Nếu họ nhận được bash: gedit: command not found
họ thử yêu thích thứ hai của họ, vv Mặc định là gì, không liên quan. Tất cả vấn đề là sở thích của họ và những gì được cài đặt hoặc có thể được cài đặt.
Điểm chính:
. . . gksu gedit /path/file.txt sẽ không hoạt động vì gedit không phải là trình soạn thảo văn bản mặc định. . . .
Sai rồi. Và đó là lý do tại sao tôi đăng, để giải thích tại sao tuyên bố đó sai và tại sao lệnh đó thất bại. Trình soạn thảo mặc định là gì, tuy nhiên bạn xác định nó, không liên quan.
Để lệnh đó hoạt động, bạn cần 2 thứ:
Cả hai chương trình, gksu
và gedit
, phải được cài đặt trên hệ thống.
Bạn phải có quyền phù hợp cho tệp và đó là thư mục tổ tiên. Bạn phải có x trên tất cả các thư mục trong đường dẫn, ít nhất là r trên chính tệp đó và có thể ít nhất là r trên thư mục mẹ. Một số biên tập viên có thể yêu cầu w trên tệp hoặc thậm chí trên thư mục mẹ, mặc dù họ không nên.
Bạn sẽ có thể cho biết tại sao lệnh thất bại bằng cách đọc thông báo lỗi. Nếu bạn thích gedit, cài đặt nó.
Nhưng gksu là nguy hiểm. Sử dụng gksudo nếu bạn cần nó. Nhưng không sử dụng bất kỳ lệnh loại su / sudo / gksu / gksudo / pkexec trừ khi lệnh theo sau thất bại mà không có nó. Và thậm chí sau đó, chỉ khi nó NÊN thất bại. Nếu nó đáng lẽ phải hoạt động, sử dụng một số lệnh sudo-ish để MAKE thì nó hoạt động giống như "Nếu nó không phù hợp, hãy lấy một cái búa lớn hơn". Nó sẽ tạo ra nhiều vấn đề hơn trên đường. Trong trường hợp đó, hãy sửa các quyền và cố gắng tìm hiểu tại sao chúng bị sai ngay từ đầu.
Cũng không phải là bất kỳ lệnh sudo toàn năng. Đôi khi, bạn PHẢI thay đổi quyền trước khi bạn có thể chỉnh sửa tệp ngay cả VỚI gksudo.
Về sự nguy hiểm của việc gksu
lắng nghe Paddy, người đã bình luận về câu trả lời của Sumeet. Anh ấy là người thông thái, người đã ở đây được một thời gian. Lặp lại 3 liên kết của mình:
https://askubuntu.com/a/288506/2088
https://bugs.launchpad.net/ubuntu/+source/gksu/+bug/1186676
http://ubuntuforums.org/showthread.php?t=1819589