Vertrauen Sie Desktop-Symbolen, ohne sie manuell in Ubuntu 18.04 Gnome 3 anzuklicken
Nachdem Sie eine .desktop-Datei an den Speicherort "Desktop" verschoben haben ~/Desktop
, wird das Symbol auf dem Desktop angezeigt. Für den ersten Lauf müssen Sie der Anwendung vertrauen. Gibt es eine Möglichkeit, ihm direkt zu vertrauen, ohne darauf zu klicken? chmod +x *.Desktop
ist bereits fertig, um die Datei ausführbar zu machen
Antworten
Desktop-Dateien können über die Befehlszeile als vertrauenswürdig eingestuft werden:
gio set Your_desktop_file.desktop "metadata::trusted" yes
und der Vertrauenszustand kann erhalten werden durch:
gio info Your_desktop_file.desktop | grep "metadata::trusted"
HINWEIS:
- Sie müssen diesen Befehl mit demselben Benutzer wie der Eigentümer der Desktop-Dateien ausführen
- Es funktioniert nur, wenn Sie den Befehl in der Gnome-Shell ausführen (nicht über SSH).
- Um dies bei der Anmeldung automatisch zu tun, müssen Sie ein Anmeldeskript erstellen, das ein Skript ausführt, da dieses nur ausgeführt wird, wenn Gnome gestartet wird. Beispielsweise können Sie eine .desktop-Datei erstellen, in der ein
~/.config/autostart/
Shell-Skript einschließlich der gio-Befehle ausgeführt wird - Stellen Sie sicher, dass
nautilus-desktop
es wirklich gestartet ist. Sie können eine while-Schleife mit einemsleep 1
Till-Nautilus-Desktop-Lauf erstellen - Symbole werden nicht automatisch aktualisiert. Sie können dies erreichen, indem Sie F5 auf dem Desktop drücken oder nautilus in Ihrem Autostart-Skript neu starten.
killall nautilus && nautilus-desktop &
(Das letzte & Zeichen soll sicherstellen, dass der Rest Ihres Codes ausgeführt wird. Andernfalls wird das Skript dort angehalten, bis Sie dennautilus-desktop
Prozess erneut schließen.)
Inspiriert von der großartigen Antwort von @Sander bin ich mit diesem Ansatz in Ubuntu 18.04 sehr zufrieden. Ich verwende dies in einem automatisierten VM-Erstellungssetup, in dem zuerst die Desktopsymbole platziert und dann diese Skripte vorbereitet werden. Sie werden erst beim ersten Start ausgeführt.
Ich erstelle eine Desktop-Datei ~/.config/autostart/desktop-truster.desktop
mit folgendem Inhalt:
[Desktop Entry]
Name=Desktop-Truster
Comment=Autostarter to trust all desktop files
Exec=~/.config/autostart/desktop-truster.sh
Type=Application
Daneben ein Skript ~/.config/autostart/desktop-truster.sh
, das von der Autostart-Desktop-Datei aufgerufen wird:
#!/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}
Sie müssen die .desktop-Dateien ausführbar machen (vertrauenswürdig). Gehen Sie dazu in einem Terminal zu ~ / Desktop und geben Sie den folgenden Befehl ein
chmod u+x foo*
Verwenden Sie natürlich einen Platzhalter, der Ihren Anforderungen entspricht, und aktualisieren Sie dann Ihren Desktop. Das wäre mehr Aufwand als der Vertrauensmechanismus für einen einzelnen Eintrag, aber sparen Sie Zeit, wenn Sie beispielsweise mehr als n Einträge importieren (wobei n Ihre maximale Unannehmlichkeit ist).
Es gibt Möglichkeiten, das Verzeichnis zu überwachen und dies automatisch mit externen Tools zu tun. Ich würde Ihnen jedoch raten, die Sicherheitsauswirkungen einer solchen Aktion ernsthaft in Betracht zu ziehen.
Aber es gibt keine Möglichkeit, dies in Ihrem DE zu tun, die mir bekannt ist.
HINWEIS: Dies funktioniert unter KDE, aber anscheinend nicht unter Gnome.