xdg .desktop文件shell扩展

时间:2014-07-29 19:11:56

标签: linux shell gnome

我试图弄清楚是否可以在something.desktop中创建~/.local/share/applications文件,每次成功执行命令chromium --user-data-dir=$(mktemp -d)

.desktop文件中的相关行是以下示例中的Exec条目:

$ cat ~/.local/share/applications/something.desktop
[Desktop Entry]
Name=chromecognito
Exec=chromium --user-data-dir\=\$\(mktemp -d\)
Icon=chromecognito
Type=Application
Categories=GTK;GNOME;Utility;

我见过this question,引用this document并尝试了$()=的各种转义组合"行中的Exec等,以及使用单引号,但无法使用新的临时目录时间程序从“开始菜单”

开始

作为旁注,请使用Exec=/home/myuser/bin/chromecognito行,其中/home/myuser/bin/chromecognito如下所示:

$ cat /home/myuser/bin/chromecognito
#! /usr/bin/env bash

(chromium --user-data-dir=$(mktemp -d) &)

有效,虽然我甚至没有成功地为.desktop文件中的Exec条目使用像~/bin/chromecognito这样的代字号。也许这是一个很好的起点。

1 个答案:

答案 0 :(得分:0)

Exec=sh -c "chromium --user-data-dir=$(mktemp -d)"

请注意,$(cmd)和〜都将由shell解释,因此您必须先调用shell才能使这些符号有效。