Làm cách nào để buộc gedit mở một cửa sổ mới độc lập với các cửa sổ gedit hiện có bất cứ khi nào một tệp văn bản được nhấp đúp vào màn hình Gnome của Debian 8?


9

Làm thế nào có geditthể buộc phải mở một cửa sổ mới một cách độc lập với các cửa sổ gedit hiện có bất cứ khi nào một tệp văn bản (.txt) được nhấp đúp vào màn hình Gnome của Debian 8, Jessie?

Giả sử rằng a.txt đã được mở trong cửa sổ gedit và b.txt đó được nhấp đúp vào máy tính để bàn Gnome của Debian 8 Jessie. Sau đó, thật không may, theo mặc định của nhà máy, b.txt sẽ được mở trong một tab trong cùng cửa sổ với a.txt.

Tuy nhiên, tôi muốn b.txtđược mở trong một cửa sổ mới của gedit để sẽ có hai cửa sổ - cửa sổ hiện có cho a.txt và một cửa sổ mới cho b.txt.

Nếu Gnome gọi gedit với tùy chọn "-s" như trong

gedit -s b.txt

sau đó b.txtsẽ được mở trong một cửa sổ mới, trong khi a.txt vẫn ở trong cửa sổ hiện có của nó.

Tuy nhiên, theo mặc định, Gnome dường như gọi gedit mà không có tùy chọn "-s".

Các tập tin cấu hình

/usr/share/applications/org.gnome.gedit.desktop

chứa chỉ thị thực hiện

Exec=gedit %U

Vì vậy, tôi đã thay đổi nó thành

Exec=gedit -s %U

bằng các lệnh sau và khởi động lại máy tính.

cd /usr/share/applications
su # similar to sudo
mv org.gnome.gedit.desktop org.gnome.gedit.desktop.bak
perl -pe 's/Exec=gedit %U/Exec=gedit -s %U/' org.gnome.gedit.desktop.bak > org.gnome.gedit.desktop
diff org.gnome.gedit.desktop org.gnome.gedit.desktop.bak

Tuy nhiên, phương pháp này đã thất bại. B.txt vẫn mở trong một tab trong cùng cửa sổ với a.txt. Tôi bị mắc kẹt. Tôi cần bạn giúp.

Chế độ mặc định của gedit là "một cửa sổ, nhiều tab". Tôi muốn chế độ "nhiều cửa sổ".

Nhân tiện, phương pháp vô dụng sau đây biến gedit thành chế độ "một cửa sổ, không có tab", đây không phải là điều tôi muốn.

gsettings set org.gnome.gedit.preferences.ui show-tabs-mode 'never'

Với phương thức "gsinstall" này, gedit sẽ tự động đóng a.txt và sử dụng lại cửa sổ a.txt hiện có để mở b.txt trong đó bất cứ khi nào b.txt được nhấp đúp trên màn hình nền. Do đó, đây là chế độ "một cửa sổ, không có tab" (trái ngược với "nhiều cửa sổ").

(Nhân tiện, giá trị mặc định cho "chế độ hiển thị tab" là 'tự động'.)


@don Tôi không quen lắm với launcher. Các lệnh để gọi launcher riêng biệt là gì?
i7pj3qnuz

Câu trả lời:


5

Lý do tại sao sửa đổi Execkhóa của bạn trong tệp .desktop không hoạt động là do gedit được kích hoạt DBus. Điều này có nghĩa là nó được khởi chạy thông qua trình nền DBus của phiên của bạn và sau đó cung cấp giao diện DBus chung cho các chương trình kích hoạt như vậy để chỉ định các tệp sẽ mở. Bạn có thể ngăn chặn điều này bằng cách thay đổi DBusActivatablephím thành false.

Ngoài ra, tốt hơn hết là tạo một bản sao của tệp .desktop mà bạn muốn sửa đổi trong thư mục chính của bạn và sử dụng tệp đó để ghi đè lên toàn bộ hệ thống thay vì trực tiếp sửa đổi toàn bộ hệ thống. Bằng cách đó, hệ thống sẽ không bị ghi đè lên các bản cập nhật gói distro. Để làm điều đó chỉ cần sao chép /usr/share/applications/org.gnome.gedit.desktopvào ~/.local/share/applications/org.gnome.gedit.desktop. Các tệp trong đường dẫn này sẽ ghi đè các tệp có cùng tên từ thư mục toàn hệ thống.

Sau đó, cũng có một sự khác biệt quan trọng giữa hai cờ có thể được sử dụng để mở một cửa sổ mới: --new-windowhoặc -s. Cả hai sẽ dẫn đến các tệp được mở trong một cửa sổ mới, nhưng với -smỗi cửa sổ cũng sẽ thuộc về quy trình riêng của nó. Khi sử dụng --new-windowtất cả các cửa sổ chia sẻ cùng một quá trình gedit.

Và cuối cùng để đảm bảo rằng điều này cũng hoạt động nếu bạn chọn nhiều tệp trong trình quản lý tệp của mình và mở chúng, bạn cần một sửa đổi khác của Execkhóa. Điều %Uđó có nghĩa là nhiều URL được cho phép làm đối số cho lệnh này, có nghĩa là trình quản lý tệp sẽ khởi động nó như thế này : gedit --new-window file1.txt file2.txt. Điều này dẫn đến một cửa sổ mới với hai tab. Nếu bạn thay đổi điều này thành %ubây giờ, điều đó nói với người quản lý tệp, rằng ứng dụng chỉ chấp nhận một URL duy nhất làm đối số và do đó khiến nó chạy lệnh nhiều lần, mỗi lần với một tệp khác nhau làm đối số. Để biết thêm chi tiết về điều này, xem đặc tả mục nhập máy tính để bàn freedesktop .


0

Dựa trên câu trả lời của Sebastians , hãy làm như sau:

  1. Tạo một bản sao cục bộ của các cấu hình gedit. Những thay đổi bạn làm, chỉ áp dụng cho người dùng hiện tại.

    cp /usr/share/appluggest/org.gnome.gedit.desktop ~ / .local / share / application / geditNewWin.desktop

  2. Trong tệp ~ / .local / share / application / geditNewWin.desktop: Chuyển đến tất cả các EXEC=dòng (có một vài) và đặt chúng thành Exec=gedit -s %U. Thay đổi hơn nữa Name=Text Editorđể Name=Text Editor (new window).

  3. Trong Trình quản lý tệp Nautilus của bạn (trình quản lý tệp tiêu chuẩn trong Gnome, thường được gọi là 'Tệp' hoặc Tệp Gnome ) liên kết các kiểu tệp (.txt, .csv, ...) với ứng dụng bạn vừa tạo:

    • nhấp chuột phải vào tệp .txt (hoặc bất kỳ loại tệp nào bạn muốn)
    • nhấp vào 'Thuộc tính'
    • đã chọn tab 'Mở bằng'
    • chọn 'Trình soạn thảo văn bản (cửa sổ mới)' từ danh sách
    • klick trên 'Đặt làm mặc định'
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.