如何在没有 gksudo 的情况下运行 Celtx

如何在没有 gksudo 的情况下运行 Celtx

我在 Ubuntu 12.04 上使用编剧软件 Celtx。它运行良好,只是我必须定期使用该软件,并且每次使用它时它都会要求我输入密码。我更改了 /usr/local/celtx 的权限,这样我就可以在没有 gksudo 的情况下使用它。之后,软件打开时我无需输入密码,但我的作品无法保存。当我尝试保存它时,它给了我以下错误消息:

 Celtx was unable to save your project: [Exception... "Component  
returned failure code: 0x80520015 (NS_ERROR_FILE_ACCESS_DENIED)  
[nsIZipWriter.open]"  nsresult: "0x80520015  
(NS_ERROR_FILE_ACCESS_DENIED)"  location: "JS frame ::  
chrome://celtx/content/save.js :: archiveCeltxProject :: line 1568"   
data: no]  

有什么想法可以修复这个问题吗?

哈哈,是的,我把它改成了我的真实用户名。文件如下所示 -

  GNU nano 2.2.6            File: /etc/sudoers.tmp                              

root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

#bhaskar ALL=NOPASSWD:/usr/local/celtx/celtx

答案1

问题在于您更改了权限,/usr/local/celtx这是一个非常糟糕的想法,但还没有更改保存您的工作内容的任何地方的权限。

无论如何,请不要这样做。更改系统文件夹的权限永远不是一个好主意。相反,请设置sudo为允许您无需密码即可使用此命令。运行sudo visudo并添加此行:

youruser ALL=NOPASSWD:/path/to/celtx

因此,假设您的用户名是bob,并且 celtx 可执行文件在/usr/local/bin,您需要添加此行:

bob ALL=NOPASSWD:/usr/local/bin/celtx

现在您将能够运行sudo celtx而无需提示输入密码,如果写入sudo太多,只需将此行添加到您的~/.bashrc

alias celtx='sudo celtx'

现在您可以直接运行celtx,而且实际上sudo celtx无需输入密码即可运行。我还建议您将权限恢复到您发现它们时的状态。

相关内容