linux - 如何避免在 Raspbian 的 xrdp 下对某些程序使用 sudo?

标签 linux xrdp

背景:我为基金会负责 Raspberry Pi 版本的 Scratch。这主要是 Smalltalk 编程、VM 开发和 shell 脚本一些非常令人沮丧的时刻的问题。

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

那么,问题描述—— 当前的 Scratch 系统在 Squeak Cog VM 上运行(参见 https://github.com/OpenSmalltalk/opensmalltalk-vm ),除其他外,它使用 pthreads 并需要设置线程优先级。这曾经需要修改一些配置,但最近的 (Raspbian) 内核没有问题。

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

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

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

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

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

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

最佳答案

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

关于linux - 如何避免在 Raspbian 的 xrdp 下对某些程序使用 sudo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38384606/

相关文章:

只有一个全屏应用程序的 Linux box

linux - 如何在 shell 脚本中正确地进行字符串比较?

c - 防止死锁

linux - xbindkeys中是否有像vim这样的leader key函数或者像autohotkey这样的hotstring函数?

c++ - glibc mysql_stmt_close 释放坏内存?

centos - Xorgxrdp : possible to connect to local desktop?

kde-plasma - 更改 xdrp 分辨率

linux - 当两个进程使用同一个文件时,logrotate 如何工作?

amazon-web-services - EC2 Ubuntu 14 默认密码