快照应用程序权限

luk*_*991 8 permissions notepadqq snap

我在使用 Ubuntunotepadqq软件包时遇到了一些问题。从我的 apache webroot 打开文件后,我看不到任何内容。也无法保存文件。我认为这将是一个经典的许可问题。因此,我改变了组Web根目录从rootwww-data并添加我的用户到该组。权限是 775,所以理论上我现在应该可以在我的 webroot 中编辑文件。但是,当我用notepadqq打开这个目录的文件时,它仍然只显示一个空文件。

使用时,gksudo notepadqq我收到以下错误消息:

No protocol specified
QXcbConnection: Could not connect to display :0
Run Code Online (Sandbox Code Playgroud)

我发现 notepadqq 是一个所谓的 snap 应用程序,我想知道这是否是我出现问题的原因。

有人可以给我一个提示,我可以如何解决这个问题(不使用 777 权限)?

N0r*_*ert 6

捕捉问题

我在使用 Xorg 的 16.04 LTS MATE 上收到了类似的错误消息:

$ cat /etc/os-release | grep PRETTY
PRETTY_NAME="Ubuntu 16.04.3 LTS"

$ export | grep XDG_SESSION
declare -x XDG_SESSION_DESKTOP="mate"
declare -x XDG_SESSION_ID="c2"
declare -x XDG_SESSION_PATH="/org/freedesktop/DisplayManager/Session0"
declare -x XDG_SESSION_TYPE="x11"

$ snap list | grep notepadqq
notepadqq  1.2.0-2    115   danieleds  -

$ which notepadqq 
/snap/bin/notepadqq

$ sudo snap run notepadqq
mkdir: cannot create directory '/run/user/0': Permission denied
No protocol specified
QXcbConnection: Could not connect to display :0.0
Aborted (core dumped)

$ pkexec snap run notepadqq
mkdir: cannot create directory '/run/user/0': Permission denied
QXcbConnection: Could not connect to display 
Aborted (core dumped)

$ sudo notepadqq 
mkdir: cannot create directory '/run/user/0': Permission denied
No protocol specified
QXcbConnection: Could not connect to display :0.0
Aborted (core dumped)

$ gksudo notepadqq 
No protocol specified
QXcbConnection: Could not connect to display :0.0

$ sudo -u www-data notepadqq /var/www/html/index.html 
2018/02/25 22:40:11.162682 cmd_run.go:562: WARNING: cannot create user data directory: cannot create "/var/www/snap/notepadqq/115": mkdir /var/www/snap: permission denied
cannot create user data directory: /var/www/snap/notepadqq/115: Read-only file system
Run Code Online (Sandbox Code Playgroud)

所以这不是 Wayland 的问题。

可能是 Snap 的其他限制。无论如何,我向 launchpad报告了错误 1751634

获取deb打包的Notepadqq并运行

我们发现,notepadqq snap 不会以 root 身份启动,所以我们

  1. “Notepadqq Team”团队PPA中删除并安装普通版本

    snap remove notepadqq
    sudo add-apt-repository -y ppa:notepadqq-team/notepadqq
    sudo apt-get update
    sudo apt-get install notepadqq
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后以普通用户身份运行它:

    notepadqq
    
    Run Code Online (Sandbox Code Playgroud)
  3. 并作为根:

    gksudo notepadqq
    
    Run Code Online (Sandbox Code Playgroud)

希望这可以帮助。


小智 5

所以,我遇到了同样的问题。在网上搜索,我在一个巴西网站上找到了解决方案。Obs:apt 存储库版本除了被弃用之外还可以正常工作,但是在我的系统中它很丑陋......

像往常一样使用 snap 安装 notepadqq:

sudo snap install notepadqq

然后,运行此命令:

sudo snap connect notepadqq:removable-media

它为我解决了,因为我试图打开的文件在另一个分区中......或者我认为!