【问题标题】:How to avoid using sudo for certain programs under xrdp in Raspbian?如何避免在 Raspbian 中的 xrdp 下对某些程序使用 sudo?
【发布时间】:2016-07-14 21:31:58
【问题描述】:

背景:我为基金会负责 Raspberry Pi 版本的 Scratch。大多数情况下,这与 Smalltalk 编程、VM 开发以及一些非常令人沮丧的 shell 脚本有关。

现在,当我使用 xrdp 从任何其他机器连接到 Pi 时,我对似乎可能是 unix 权限或相关问题感到困惑和恼火。我知道这不是直接与 theSqueak VM 相关的问题,因为谷歌已经披露了很多其他具有类似外观问题的应用程序。我的部分问题是我对这个领域的了解不够,无法真正知道要搜索什么来缩小范围。

所以,问题描述 - 当前的 Scratch 系统在 Squeak Cog VM 上运行(参见https://github.com/OpenSmalltalk/opensmalltalk-vm),其中使用 pthreads 并且需要设置线程优先级。这曾经需要修改一些配置,但更新的(Raspbian)内核对此没有问题。

除了使用 xrdp 时,这很痛苦,因为我主要通过 xrdp 到 iMac 使用我的 Pi。为了解决这个问题,我必须在前面加上一个'sudo -E',这对于开发人员来说是可以忍受的,但对普通用户来说并不是很好。 我在 VM make 过程中使用的一个简单的文件复制命令也有类似的问题,它不使用任何线程内容或优先工作,但确实需要我在终端窗口中 sudo make

作为一个实验,我尝试使用tightvnc,看看是否有更好的方法。在阅读了完整的安装说明 (https://www.raspberrypi.org/documentation/remote-access/vnc/) 并添加了自动启动 init.d 脚本等之后,我们似乎很幸运,因为不需要 sudo!万岁!当然,我对看似较慢的显示处理有点失望,但没关系。

遗憾的是,这甚至还没有接近故事的结尾。我最近一直致力于完成对 X 组合输入窗口系统的支持,该系统允许日语和其他非拉丁语类型的语言用户更轻松地输入字符。它非常聪明,一旦你安装了 iBus、Anthy、许多字体并进行了一些设置。但是,虽然它在带有直接显示的 Pi 上运行得非常好,在 xrdp 显示上也很好(当然,首先使用 sudo 允许 Scratch 运行)它根本无法通过 vnc 使用或不使用须藤。

谷歌搜索显示大量其他应用程序在相关的 XCreateIC() 调用中以奇怪的方式出现问题(请参阅https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/unix/vm-display-X11/sqUnixX11.c line:1659 了解我们的用法),但我无法与 vnc 建立太多联系。更烦人的是,组合窗口对于终端来说是可以的!

总结—— 直接显示 - pthread 优先级或组合窗口都没有问题 xrdp - 需要 sudo 来获得 pthreads 优先级,但组合窗口工作正常 vnc - pthread 优先级不需要 sudo,但组合窗口不起作用。

我需要什么:帮助找出导致这些问题的原因,甚至可能是解决方案。一种将 xrdp 配置为不需要“sudo”的方法会很好。

【问题讨论】:

  • 我没有答案,但我会下载编辑器here 在本地进行操作,然后将文件复制过来。
  • 对不起,彼得,这不可能。 Pi 不运行 Flash,这是 Scratch2 的编写内容。Pi 版本基于(经过重大改进的)原始 Scratch,它是用 Squeak Smalltalk 编写的。当然,为似乎受到影响的所有其他应用程序找到问题的解决方案会很好!
  • 我的意思是不要在 Pi 上进行 Scratch 开发,而是在您的计算机上进行,并且只复制生成的文件
  • 再次抱歉,彼得,但这根本不是我的问题所在。在其他机器上编写 Scratch 脚本,然后在 Pi 上使用它不是问题。问题是 xrdp 和 vnc 的工作方式阻止了 Squeak VM 完成它的工作,并且使用 Scratch 搞砸了。这本身不是 Squeak/Scratch 问题 - 您可以在 Google 上搜索许多其他具有类似问题的应用程序。

标签: linux xrdp


【解决方案1】:

令我高兴的是,一位同事发现了一个似乎非常有效的答案;似乎 /etc/pam.d/common-session 文件需要添加一行。 编辑文件并添加 会话需要 pam_limits.so 这允许我以前有权限相关问题的所有应用程序在 xrdp 下运行。另一个使用 PuTTY 遇到类似问题的 Scratch 用户报告说它也解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-03
    • 1970-01-01
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-01
    相关资源
    最近更新 更多