创建.desktop
文件失败。usr/share/applications
用户拥有 r+w 权限。我需要更改为 rwx 才能创建可行文件吗.desktop
?
sudo chmod u+x
因为我的用户无法工作(‘u+x’之后缺少操作数)。
尝试过 Freedesktop,但它似乎没有涵盖这方面...
权限不是我的强项,而且我是新手......非常沮丧。
[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=Foo
Comment=FooApp
Exec=/usr/share/applications/simi1.py
Icon=/usr/share/icons/hicolor/48x48/apps/pic.png
Terminal=true
StartupNotify=false
我知道这是怎么可能的...我的文件显然在目录中
答案1
首先,你需要有 root 权限才能执行此操作。其次,你不需要对 中的文件具有可执行权限。在我自己的机器上的目录上进行/usr/share/applications
简单查看,结果显示如下:ls -l
$ ls -l
total 2864
-rw-r--r-- 1 root root 5511 Dec 19 08:14 alacarte.desktop
-rw-r--r-- 1 root root 3417 Dec 17 15:21 assistant-qt5.desktop
-rw-r--r-- 1 root root 14329 Jan 23 13:37 bamf-2.index
-rw-r--r-- 1 root root 296 Nov 2 2015 bastet.desktop
-rw-r--r-- 1 root root 6305 Jan 16 2017 bleachbit.desktop
-rw-r--r-- 1 root root 6333 Aug 30 13:38 bleachbit-root.desktop
...
请注意,以上文件都不是可执行文件;换句话说,应用程序目录中的文件(例如/usr/share/applications
或)~/.local/share/applications
是不可执行的,因为没有人会执行它们。桌面文件夹中的文件是可执行文件,因此您可以执行它们,但没有人会进入/usr/share/applications
运行应用程序。
我们来解决第一个问题:
您可以通过运行sudo -i
并输入用户密码来成为 root 用户。成为 root 用户后,您可以使用以下任一方式创建桌面文件
# gedit /usr/share/applications/[file].desktop
或者
# nano /usr/share/applications/[file].desktop
现在您可以根据需要输入文件的内容。
答案2
默认情况下,root 应该是 /usr/share/applications 目录的所有者。
您可以使用 sudo 来创建和编辑该文件吗?
在控制台上:
sudo nano /usr/share/applications/myApp.desktop
或者可能 :
sudo gedit
然后写入文件并保存到目录中。
最佳做法是使用 sudo 以 root 权限创建/编辑目录中的文件,而不是更改这些权限。
或者,您可以将文件写入主目录,然后使用 sudo 将其复制到 /usr/share/applications
sudo cp myApp.desktop /usr/share/applications/
最后,如果您想将此 myApp.desktop 文件用作桌面上的快捷方式,只需:
cp /usr/share/applications/myApp.desktop ~/Desktop/