Tin cậy các biểu tượng trên màn hình mà không cần nhấp vào chúng theo cách thủ công trong Ubuntu 18.04 Gnome 3

Aug 29 2018

Sau khi di chuyển tệp .desktop vào vị trí "Máy tính để bàn" ~/Desktop, nó sẽ hiển thị biểu tượng trên Máy tính để bàn. Lần chạy đầu tiên, bạn phải tin tưởng vào ứng dụng. Có cách nào để tin tưởng nó trực tiếp mà không cần nhấp chuột không? chmod +x *.Desktopđã được thực hiện để làm cho tệp thực thi được

Trả lời

12 Sander Aug 29 2018 at 13:40

Tệp máy tính để bàn có thể được tin cậy thông qua dòng lệnh:

gio set Your_desktop_file.desktop "metadata::trusted" yes

và trạng thái tin cậy có thể đạt được bằng cách:

gio info Your_desktop_file.desktop | grep "metadata::trusted"

GHI CHÚ:

  • Bạn phải chạy lệnh này với cùng một người dùng là chủ sở hữu của các tệp trên màn hình
  • Nó chỉ hoạt động nếu bạn chạy lệnh trong gnome shell (không qua SSH)
  • Để thực hiện điều này tự động khi đăng nhập, bạn phải tạo một tập lệnh đăng nhập để thực thi một tập lệnh, vì điều này chỉ chạy khi Gnome được khởi động. Ví dụ: bạn có thể tạo một tệp .desktop để ~/.config/autostart/thực thi một số tập lệnh shell bao gồm các lệnh gio
  • Đảm bảo nautilus-desktopthực sự được bắt đầu. Bạn có thể tạo một vòng lặp trong khi chạy sleep 1cho đến khi nautilus-desktop
  • Biểu tượng sẽ không tự động làm mới. Bạn có thể đạt được điều này bằng cách nhấn F5 trên màn hình hoặc khởi động lại nautilus trong tập lệnh tự khởi động của bạn. killall nautilus && nautilus-desktop &(Dấu & cuối cùng là để đảm bảo phần còn lại của mã của bạn sẽ chạy. Nếu không, nó sẽ dừng tập lệnh ở đó cho đến khi bạn đóng nautilus-desktoplại quy trình)
2 Janos Nov 27 2018 at 13:48

Lấy cảm hứng từ câu trả lời tuyệt vời của @Sander, tôi khá hài lòng với cách tiếp cận này trong Ubuntu 18.04. Tôi sử dụng điều này trong thiết lập tạo máy ảo tự động, nơi đầu tiên các biểu tượng trên màn hình được đặt và sau đó các tập lệnh này được chuẩn bị. Chúng chỉ được thực thi ở lần khởi động đầu tiên.

Tôi tạo một tệp máy tính để bàn ~/.config/autostart/desktop-truster.desktopvới nội dung sau:

[Desktop Entry]
Name=Desktop-Truster
Comment=Autostarter to trust all desktop files
Exec=~/.config/autostart/desktop-truster.sh
Type=Application

Bên cạnh đó, một tập lệnh ~/.config/autostart/desktop-truster.sh, được gọi bởi tệp máy tính để bàn tự động khởi động:

#!/bin/bash
# Wait for nautilus-desktop
while ! pgrep -f 'nautilus-desktop' > /dev/null; do
  sleep 1
done
# Trust all desktop files
for i in ~/Desktop/*.desktop; do
  [ -f "${i}" ] || break
  gio set "${i}" "metadata::trusted" yes
done
# Restart nautilus, so that the changes take effect (otherwise we would have to press F5)
killall nautilus-desktop && nautilus-desktop &
# Remove X from this script, so that it won't be executed next time
chmod -x ${0}
nobodyspecial Aug 29 2018 at 11:44

Bạn phải làm cho các tệp .desktop có thể thực thi được (tin cậy), bạn có thể thực hiện bằng cách truy cập ~ / Desktop trong một thiết bị đầu cuối và đưa ra lệnh sau

chmod u+x foo*

Rõ ràng là sử dụng ký tự đại diện phù hợp với nhu cầu của bạn, sau đó làm mới màn hình của bạn. Điều đó sẽ tốn nhiều công sức hơn so với cơ chế tin cậy cho một mục nhập duy nhất, nhưng tiết kiệm thời gian nếu bạn nhập nhiều hơn n mục nhập (trong đó n là số lần bất tiện tối đa của bạn).

Có nhiều cách để theo dõi thư mục và tự động thực hiện việc này bằng các công cụ bên ngoài nhưng tôi khuyên bạn nên xem xét nghiêm túc ý nghĩa bảo mật của việc làm như vậy.

Nhưng không có cách nào để làm điều này trong DE của bạn mà tôi biết.

LƯU Ý: Điều này hoạt động trên KDE nhưng dường như không hoạt động trên Gnome.