请帮我理解这行命令:
xhost +SI:localuser:lightdm
Run Code Online (Sandbox Code Playgroud)
在参考这个职位的答案,也建议,如果有一个更好的办法,为什么多数民众赞成需要。我无法从手册页中获得太多信息,因此我希望有一些更详细的答案以使其变得简单。(我应该用我的用户名替换 localuser 吗,这是否类似于添加到组中?我知道 + 用于添加但不理解 SI 或 si !)
还请提及用户如何添加到“允许建立连接的列表”中以及这意味着什么。另外,我如何检查当前列表?
我有一台 Asus 笔记本电脑,它有一个特殊的键,可以配置为启动任何软件(至少在 Windows 上)。
一般问题是:如何检测任何按键(全局)?
那么,如何检测用户何时按下此键?
我想用 xsel 将一个长文件复制到剪贴板中,在我的本地电脑中,只需输入:
cat /usr/bin/mysql_secure_installation|xsel -b
Run Code Online (Sandbox Code Playgroud)
位于我本地操作系统中的文件mysql_secure_installation
已复制到剪贴板中。
现在使用 ssh 命令登录我的 vps,然后输入
DISPLAY=:0 cat /usr/bin/mysql_secure_installation|xsel -b
Run Code Online (Sandbox Code Playgroud)
我遇到错误信息:
xsel: Can't open display: (null)
: Inappropriate ioctl for device
Run Code Online (Sandbox Code Playgroud)
我知道获取远程文件的正确方法是scp
命令:
scp -P port username@tohostname:/remotefile /newlocalfile
Run Code Online (Sandbox Code Playgroud)
我只是想知道如何在登录我的 vps 后将文件内容复制到剪贴板,将文件从远程计算机复制到本地计算机的剪贴板。
同样的错误:
DISPLAY=:0 xsel -b < /usr/bin/mysql_secure_installation
xsel: Can't open display: (null)
: Connection refused
Run Code Online (Sandbox Code Playgroud) 通常,当系统启动时,您会将所有输出打印在 TTY1 上,这没关系,但是我通过startx
以下方式启动 X-server并通过~/.profile
文件中的以下几行来实现:
if [[ $(tty) = /dev/tty4 ]]; then
exec startx &> ~/.xsession-errors
fi
Run Code Online (Sandbox Code Playgroud)
因此,如您所见,我使用 TTY4 来启动 X-server,并且我想在启动完成后自动切换到该控制台。有没有办法做到这一点?
我想知道,为什么这不起作用?
$ screen
$ Xvfb -screen :1 1024x768x16 &
[1] 17540
$ _XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
_XSERVTransMakeAllCOTSServerListeners: server already running
(EE)
Fatal server error:
(EE) Cannot establish any listening sockets - Make sure an X server isn't already running(EE)
Run Code Online (Sandbox Code Playgroud)
然后在Ctrl+C
或者+D
我运行这个之后:
$ ps -C Xorg
PID TTY TIME CMD
Run Code Online (Sandbox Code Playgroud)
而且,确实,X 服务器没有运行。那为什么会出错呢?
$ uname -a
Linux ip-123456-generic #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
更新:
从我之前的问题从实时持久性 USB 启动后的空屏幕来看,我能够在启动后访问所有文件和文件夹,但 X 服务器无法加载(所以我只能访问 tty1)。从上一个问题我可以找到/var/log/Xorg.0.log
它并拍了一张照片:
现在我必须以某种方式指定“所有帧缓冲区设备的总线ID”(来自文件错误)。那么我该怎么做呢?我应该编辑什么配置文件?startx
我从(无法运行帧缓冲区模式的致命错误)中得到了完全相同的错误。如何连接X-server?
我在 xubuntu 11.10 上尝试设置 x11vnc 服务器。
我按照这里的说明,我可以连接到 VNC 服务器 - 但它从不要求我输入密码!
这两个选项之间有区别吗:
-auth file
and
-rfbauth passwd-file
Run Code Online (Sandbox Code Playgroud)
或者为什么我的 VNC 客户端(remmina)不要求输入密码。任何线索?
更新: 好的。- 我添加了-rfbauth选项,现在身份验证使用该单个密码。
我可以连接并提示输入密码:
x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 \
-auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log \
-rfbauth /etc/.x11vnc.pass
Run Code Online (Sandbox Code Playgroud)
我可以连接但不能!提示输入密码:
x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 \
-auth /var/run/lightdm/root/:0 -forever -bg -o /var/log/x11vnc.log
Run Code Online (Sandbox Code Playgroud)
我不明白 - 如果不是身份验证,那么 -auth 选项的原因是什么?
我正在努力适应systemd
,因为这似乎是 Debian 的发展方向。
我想chroot
在硬件上运行 Xorg ,而不是使用网络(这似乎是在systemd
容器中执行此操作的规范方式),因为我不想在我的主机系统上安装 X 服务器。我希望主机是一个瘦的、低维护的操作系统。
我的理解是systemd-nspawn
虚拟化/dev
,因此不允许访问硬件。
chroot
在实践中运行标准似乎工作正常,但我不确定这是否会有任何微妙的问题。
除了来宾可以直接访问硬件之外,在 systemd 机器上运行“真正的”chroot 是一个坏主意吗?如果有,会造成什么问题?
如果这是不好的做法,有没有办法做到这一点systemd-nspawn
;比如一些“不安全”的标志?我没有在man
页面上找到一个,但是根据这个页面,有一个--share-system
标志;这对我不起作用。
我Xephyr
用作嵌套X
服务器。当我在Xephyr
窗口中并按下组合键时Control_L+Shift_L,Xephyr
抓取我的输入(鼠标、键盘)。这个抓取可以用 发布Control_R+Shift_R,就像在awesome 的 API 文档中一样,一个高度可配置的 X 窗口管理器。
问题是,这些组合键不能可靠地工作。有时我必须反复按才能有任何效果。这是非常令人沮丧的。
有没有办法使用某些工具来编写这些键组合的脚本,例如xdotool
?或者其他什么工具?我会创建一个脚本,一旦我被困在里面Xephyr
并且无法离开,我就可以运行该脚本。
我尝试了以下方法但不起作用(无效):
xdotool key Control_L+Alt_L+Shift_L
Run Code Online (Sandbox Code Playgroud) 我有一台 Debian 8.5 计算机。为了创建新会话,我运行命令
startx
。使用此命令将创建一个新会话。如何通过命令关闭此会话并返回到上一个会话?