我在这台机器上安装了 Windows XP,但失败了。我以为是操作系统损坏了,所以尝试重新安装,但失败了。但后来我尝试安装 Ubuntu,却无法从 USB 或硬盘上运行它。
是否记忆测试发现我的 512MB 内存条(共有 2 个)坏了。我移除了坏的内存条,然后能够安装 Ubuntu,但速度很慢。
我试图快速设置我的分组无线电以应对飓风桑迪。下载了串行端口终端并能够使用,但系统一直锁定。因此在它旁边安装了 Xubuntu,计划第二天用完内存来为盒子安装内存。安装 Xubuntu 后,我收到以下串行端口终端错误:
Cannot open /dev/ttyS0: Permission denied
我希望能够使用串行端口终端,或与 Xubuntu 等效的终端,以便我可以使用我的 kpc3 分组终端,连接到我计算机背面的 com 端口。
有任何想法吗?
答案1
tty 设备属于“dialout”组,我怀疑您不是该组的成员,因此被拒绝访问 /dev/ttyS0,所以您需要将自己添加到该组。
首先检查您是否是该组的成员:
groups ${USER}
..这将列出您所属的所有组。如果您不属于 dialout 组,则将自己添加到该组中,例如:
sudo gpasswd --add ${USER} dialout
然后您需要注销并重新登录才能生效。然后看看它是否能解决您的问题。
答案2
对我来说唯一可行的解决方案是:(每次启动机器时)
sudo chmod 666 /dev/ttys0
确实需要在安装时修复。我使用的是 15.10,并尝试过 16.04 LTS,情况仍然相同。似乎修复起来很简单。
旧版本 10.04LTS 没有这个问题。
答案3
在 Ubuntu 18.04 上,我使用以下命令修复了此问题:
sudo usermod -a -G tty $USER
sudo usermod -a -G dialout $USER
此后,重新启动。
如果仍有问题,请尝试使用以下命令进行调试:
strace -ff <COMMAND> > strace.txt 2>&1
并在 strace 中寻找“denied”。
答案4
浏览了各种论坛,发现这是一个与权限相关的错误。下面是我解决这个问题的方法(详细版)。您将需要安装cu
和setserial
软件包。
在三个终端选项卡中,监控来自的输出# tail -f /var/log/messages
这就是我们如何知道是否有/dev/ttyUSB0
。
在第二个选项卡中,只需循环运行 ls -l
此设备以查看其权限,其组 ID 为“dialout”。这是关键点。出于某种原因,您的用户必须使用此 GID 来执行操作cu
,因此...
在第三个选项卡中,以 root 身份执行了此操作# newgrp dialout
(与 dialout 的 GID 相对应)。使用 # touch /tmp/anything
... 测试ls -l
此文件显示它是由 root 使用 dialout 组创建的,因此我们已准备好 ...# cu -l /dev/ttyUSB0
在我的情况下,我需要再次按回车键才能看到预期的提示,在其他情况下可能需要指定速度。