我对 Linux 还不熟悉。我已成功使用创建新 .desktop 文件并添加信息的方法创建了桌面快捷方式。
我想要解决的问题是新的快捷方式有一个虚拟图标图像,并在首次启动时给出“不受信任的应用程序警告”。
我希望能够创建快捷方式并使其已受信任,并在执行命令时立即显示图标。我为此编写了一个 bash 脚本,我认为一定有一种方法可以设置它以使其正常工作。
最终的结果是运行一个脚本,该脚本配置一个新框,以便预先制作好我所有的桌面快捷方式并准备就绪。
脚本如下:
#! /bin/bash
LT_RED='\033[1;31m'
LT_GREEN='\033[1;32m'
LT_BLUE='\033[1;36m'
NC='\033[0m' # NO COLOR
function CreateGeanyEnvVar(){
if [ ! -n "$GEANY_LN" ]; then
printf "${LT_GREEN}\n => Creating GEANY_LN env var.${NC}"
GEANY_LN=$HOME/Desktop
else
printf "${LT_RED}\n => GEANY_LN already exits.${NC}"
fi
}
function CreateGeanyDesktopIcon(){
printf "${LT_GREEN}\n => Creating Geany Desktop Icon.${NC}\n"
touch ${GEANY_LN}/geany.desktop
echo "[Desktop Entry]" >> ${GEANY_LN}/geany.desktop
echo "Type=Application" >> ${GEANY_LN}/geany.desktop
echo "Version=1.0" >> ${GEANY_LN}/geany.desktop
echo "Name=Geany" >> ${GEANY_LN}/geany.desktop
echo "GenericName=Integrated Development Environment" >> ${GEANY_LN}/geany.desktop
echo "Comment=A fast and lightweight IDE using GTK+" >> ${GEANY_LN}/geany.desktop
echo "Exec=geany %F" >> ${GEANY_LN}/geany.desktop
echo "Icon=geany" >> ${GEANY_LN}/geany.desktop
echo "Terminal=false" >> ${GEANY_LN}/geany.desktop
echo "Categories=GTK;Development;IDE;" >> ${GEANY_LN}/geany.desktop
echo "MimeType=text/plain;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;text/x-java;text/x-dsrc;text/x-pascal;text/x-perl;text/x-python;application/x-php;application/x-httpd-php3;application/x-httpd-php4;application/x-httpd-php5;application/xml;text/html;text/css;text/x-sql;text/x-diff;" >> ${GEANY_LN}/geany.desktop
echo "StartupNotify=true" >> ${GEANY_LN}/geany.desktop
echo "Keywords=Text;Editor;" >> ${GEANY_LN}/geany.desktop
echo "X-Desktop-File-Install-Version=0.22" >> ${GEANY_LN}/geany.desktop
chmod 755 ${GEANY_LN}/geany.desktop
}
printf "${LT_GREEN}Setup Geany on CentOS 7\n${NC}"
printf "${LT_GREEN}*********************************\n${NC}"
CreateGeanyEnvVar
CreateGeanyDesktopIcon
答案1
正如 red-hat 文档中所述:具有可执行权限的 .desktop 文件为攻击者提供了欺骗用户的机会。因此,新的安全系统将所有来自外部软件包的 .desktop 文件视为不受信任。即使您生成了一个好的 .desktop 文件,它仍然不受系统安全部分的信任。那么,如何使它受信任?
首先,更改 .desktop 文件的所有者和组,这样您就有权将其标记为受信任,例如:# chown john:john ${GEANY_LN}/geany.desktop
之后,双击 .desktop 文件,系统会弹出一个消息框让你选择“取消”或“信任并启动”。选择第二个选项,.desktop 将被信任并正确显示。
这可能不是最好的解决方案,请继续在文档中寻找它!