通过脚本启动时程序界面很丑陋

通过脚本启动时程序界面很丑陋

我通过 bash 脚本启动 Qt-Linguist

sudo linguist-qt4 $PathToParentDir/translate_$lang.ts

我也可以使用gksu而不是sudo但这会增加更多依赖项,因为大多数人没有安装 gksu。在左图中,您可以看到它看起来有多丑,正常启动时它应该看起来像右侧的样子。我如何在 bash 脚本中启动程序,使其看起来像右图所示?

左:丑陋版本;右:正确版本

答案1

程序界面看起来很丑陋,因为你用 启动程序sudo,但sudo用于在文本模式下执行命令。

因此,您需要一个命令以 root 身份在图形模式下启动该程序。这可以是gksudo。请参阅“gksudo nautilus”和“sudo nautilus”有什么区别?。 但 (gksu从 Ubuntu 13.04 开始不再默认安装。它的替代方案是pkexec。因此,您可以使用以下内容if

if [ -x /usr/bin/gksu]; then     #if `gksu` exists and is executable
    gksu linguist-qt4 $PathToParentDir/translate_$lang.ts
else
    pkexec linguist-qt4 $PathToParentDir/translate_$lang.ts
fi

或者,您可以尝试简单的:

sudo -i linguist-qt4 $PathToParentDir/translate_$lang.ts

所以,。但我对此不太确定——你自己检查一下吧。sudo -i command

相关内容