0

背景:我为基金会负责 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',这对于开发人员来说是可以忍受的,但对普通用户来说并不是很好。我在虚拟机制作过程中使用的一个简单的文件复制命令也有类似的问题,它不使用任何线程内容或优先工作,但确实需要我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优先级或compo窗口xrdp都没有问题-pthreads优先级需要sudo,但compo窗口工作正常vnc-pthread优先级不需要sudo但compo窗口不起作用。

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

4

1 回答 1

0

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

于 2016-09-01T02:25:48.623 回答