web-dev-qa-db-ja.com

Ubuntu 18.04 Gnome 3で手動でクリックせずにデスクトップアイコンを信頼する

.desktopファイルを「デスクトップ」の場所~/Desktopに移動すると、デスクトップにアイコンが表示されます。最初の実行では、アプリケーションを信頼する必要があります。クリックせずに直接信頼する方法はありますか? chmod +x *.Desktopは、ファイルを実行可能にするために既に行われています

enter image description here

2
Sander

特別な人がいないため、デスクトップファイルはコマンドラインを介して信頼できます:gio set Your_desktop_file.desktop "metadata::trusted" yes

注意:

  • デスクトップファイルの所有者と同じユーザーでこのコマンドを実行する必要があります
  • (SSH経由ではなく)gnomeシェルでコマンドを実行する場合にのみ機能します
  • ログオン時にこれを自動的に行うには、スクリプトを実行するログオンスクリプトを作成する必要があります。これは、Gnomeの起動時にのみ実行されるためです。たとえば、~/.config/autostart/で.desktopファイルを作成して、gioコマンドを含むいくつかのシェルスクリプトを実行できます。
  • nautilus-desktopが実際に開始されていることを確認してください。 nautilus-desktopを実行するまでsleep 1でwhileループを作成できます
  • アイコンは自動的に更新されません。デスクトップでF5を押すか、自動起動スクリプトでnautilusを再起動することでこれを実現できます。 killall nautilus && nautilus-desktop &(最後の記号は、残りのコードが実行されることを確認することです。それ以外の場合は、nautilus-desktopプロセスを再び閉じるまでそこでスクリプトを停止します)
7
Sander

@Sanderのすばらしい答えに触発され、Ubuntu 18.04でのこのアプローチに非常に満足しています。自動VM作成セットアップでこれを使用します。最初にデスクトップアイコンが配置され、次にこれらのスクリプトが準備されます。それらは最初の起動時にのみ実行されます。

次のコンテンツを含むデスクトップファイル~/.config/autostart/desktop-truster.desktopを作成します。

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

その隣に、自動開始デスクトップファイルによって呼び出されるスクリプト~/.config/autostart/desktop-truster.shがあります。

#!/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}
1
Janos

.desktopファイルを実行可能(信頼)にする必要があります。これは、ターミナルで〜/ Desktopに移動し、次のコマンドを発行することで実行できます。

chmod u+x foo*

明らかに、ニーズに適したワイルドカードを使用してから、デスクトップを更新してください。これは、単一エントリのtrustメカニズムよりも労力がかかりますが、nエントリ(nは最大の不便さの数)を超えると言ってインポートすると時間を節約できます。

ディレクトリを監視し、外部ツールでこれを自動的に行う方法がありますが、そのようなことを行うことのセキュリティへの影響を真剣に検討することをお勧めします。

しかし、私が知っているDE内でこれを行う方法はありません。

注:これはKDEでは動作しますが、Gnomeでは動作しないようです。

0
nobody special