web-dev-qa-db-ja.com

Unityの.desktopファイルの構文とカスタマイズの支援

  1. 私は以下を試しましたが、期待通りに機能します。 Firejailを使用して、揮発性状態のFirefoxをサンドボックス化します。

    Exec=firejail --seccomp --private firefox
    
  2. これは何のため?そして、それは何をしますか?

    Actions=NewWindow;NewPrivateWindow;
    
  3. 俺の Firefox.desktopこれまでのコード

    [Desktop Entry] Version=1.0
    Name=VOLATILE SANDBOX - Private Firefox 
    Comment=Browse the World Wide Web
    GenericName=Web Browser
    Keywords=Internet;WWW;Browser;Web;Explorer
    Exec=firejail --seccomp --private firefox
    Terminal=false
    X-MultipleArgs=false
    Type=Application
    Icon=firefox
    Categories=GNOME;GTK;Network;WebBrowser;
    MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
    StartupNotify=true
    Actions=NewWindow;NewPrivateWindow;
    
  4. 右クリック状態Persistentおよびnsafeを追加したいので、拡張機能をアップグレードできます。 (コードに)2番目と3番目の状態を追加するにはどうすればよいですか?

    Exec=firejail firefox
    

    そして

    Exec=firefox
    
2
Ubuntu_Chef

.desktopファイルのさまざまなセクションは何のためですか?」に質問を少し制限/変更します

.desktopファイルのさまざまなセクションの説明

私の答えでは、firefoxの例にはmanyの注意をそらす行があり、答えを明確にしないため、単純な.desktopfileを使用します。

ただし、原理はUnityで使用されるすべての.desktopファイルでまったく同じです。

1.基本的な.desktopファイルの「本文」

アプリケーション(例ではgedit)があり、.desktopファイルがないとします。単純にファイルを作成できます:

[Desktop Entry]
Name=Gedit
Exec=gedit
Type=Application

名前を付けてくださいgedit_starter.desktop。デスクトップから使用するには(ダブルクリックしてgeditコマンドを実行します)、単に実行可能にします。 Dashに表示するには、/usr/share/applications(グローバル使用)または~/.local/share/applications(ローカル、個人使用)のいずれかに保存します。

追加オプション(エントリキー)の追加

上記の例は、最も単純な形式の.desktopファイルです。単純なコマンド、汎用アイコン。行を追加して、.desktopファイルにアイコンを付けたり、追加のオプションやローカライズされた名前などを追加したりできます。 このリンク カスタマイズされたアイコン。

(おそらく設定されている)アイコンと設定名(Name=行にある)は、デスクトップに保存する場合、ファイルにnotと表示されることに注意してくださいnless実行可能にします。以下のfirefoxの例を参照してください。

非実行可能

enter image description here

実行可能ファイル

enter image description here

2.右クリックアイテムの追加(Unityランチャーから)

enter image description here

[1.]で説明したセクションには、ランチャーファイルの「メイン」コマンドが含まれています。クリックすると実行されます(Unity)。右クリックアイテムを作成するには、2つの追加セクションが必要です。

  • ";"で区切られた追加の右クリックオプションをリストする行。
    「実際の」gedit``.desktopファイルの例から:

    Actions=Window;Document;
    

    これらの各項目は次のものに対応します。

  • 次のようなショートカットセクション:

    [Desktop Action Window]
    Name=Open a New Window
    Exec=gedit --new-window
    OnlyShowIn=Unity;
    

    このセクションを調べる:

    [Desktop Action Window]
    

    Actions=行にリストされている名前を参照します。名前にはスペースが含まれている場合があります(例: この回答 のように、Recently used)。

    Name=Open a New Window
    

    インターフェースに表示される名前を参照します

    Exec=gedit --new-window
    

    右クリックで実行するコマンドを指します

    OnlyShowIn=Unity;
    

    デスクトップエントリを表示するデスクトップ環境を指します

それが基本的にどのように機能するかです。

あなたの例

あなたの質問をよく理解していて、Persistentnsafeの両方をfirefoxクイックリストに(右クリックオプションとして)追加したい場合は、変更する必要があります。ライン:

Actions=NewWindow;NewPrivateWindow;

に:

Actions=NewWindow;NewPrivateWindow;Persistant;unsafe;

ファイルの下部に2つのショートカットセクションを追加します。

    [Desktop Action Persistant]
    Name=Persistant
    Exec=<command>
    OnlyShowIn=Unity;


    [Desktop Action unsafe]
    Name=unsafe
    Exec=<command>
    OnlyShowIn=Unity;

両方の<command>を実行するコマンドで置き換える必要がある場合。

注意

.desktopfileを編集する場合は、常にデフォルトの(グローバル)ファイルを/usr/share/applicationsから~/.local/share/applications(ローカル、個人使用)にコピーし、ローカルファイルを編集します。ログアウト/ログインした後、ローカルのものがグローバルのものを無効にします。

2
Jacob Vlijm

ちなみに、これを行った後、Firefox(または任意のプログラム)でファイルタイプの「デフォルトアプリ」として実際にリンクを開くことができない場合は、次のように%UをExec行に追加してみてください。

Exec=firefox %U

%Uは、プログラムに渡されるURLのプレースホルダーです。他のプレースホルダーも利用できると思います。これはFirefoxで私にとってうまくいったことです。

0
willbradley