这是我在man X以下内容中找到的内容:
短语“显示器”通常用于指共享一组通用输入设备(键盘、鼠标、平板电脑等)的监视器集合。大多数工作站往往只有一个显示器。然而,更大的多用户系统通常有多个显示器,因此可以有多个人同时进行图形工作。为避免混淆,当启动该显示器的 X 服务器时,机器上的每个显示器都被分配一个显示器编号(从 0 开始)。显示编号必须始终在显示名称中给出。
我的问题是:如果我们想使用多个显示器,我们是否需要启动多个 X 服务器,或者所有这些显示器都可以由单个 X 服务器处理?是否可以在不同的显示器上共享键盘、鼠标和显示器?
编辑。这里的显示指的是X窗口系统定义的概念,而不是单个监视器。我知道有支持多头配置的 Xinerama 和 XRandR 技术。
我的xdg-mime会出错。它将包含 Java 代码的 .html 文件识别为 C++ 文件。
我不太了解 xdg 的内部机制(例如它如何确定文件类型)。我想知道如何通过优先考虑文件扩展名的判断来解决这个问题。
当然,欢迎其他解决方案。更欢迎对 xdg-* 机制的解释。
less 有两个选项:
-r或者--raw-control-chars导致显示“原始”控制字符。
-R或者--RAW-CONTROL-CHARS像
-r,但只有 ANSI“颜色”转义序列以“原始”形式输出。
这是否意味着当只有颜色控制字符时它们是等效的?我的输出^O在管道到时有less -R但在管道到时没有less -r。这里发生了什么事?
我已经尝试过xdotool、xwininfo和xprop,但它们似乎都返回窗口的内容大小,其中不包括边框宽度。有没有可以找到这个边框宽度的命令行工具?希望该工具能够在不同的 EWMH 兼容窗口管理器上运行。
在Linux中,是否可以运行管道:
cmd1 | cmd2
Run Code Online (Sandbox Code Playgroud)
以这样的方式:
cmd2cmd1直到完全完成才开始运行,并且
如果cmd1有错误,则cmd2根本不运行,并且管道的退出状态是 的退出状态cmd1。
举个例子,如何制作这个管道:
false | echo ok
Run Code Online (Sandbox Code Playgroud)
什么都不输出并返回非零状态?
set -o pipefail
Run Code Online (Sandbox Code Playgroud)
该管道确实具有非零退出状态,但cmd2即使cmd1失败仍然运行。
cmd1 && cmd2
Run Code Online (Sandbox Code Playgroud)
这不是管道。无 I/O 重定向。
mkfifo /tmp/fifo
cmd1 > /tmp/fifo && cmd2 < /tmp/fifo
Run Code Online (Sandbox Code Playgroud)
它会阻塞。
touch /tmp/file
cmd1 > /tmp/file && cmd2 < /tmp/file
Run Code Online (Sandbox Code Playgroud)
这似乎有效。但它有几个缺点:
它将数据写入 I/O 速度较慢的磁盘。(当然您可以使用tmpfs,但这是一个额外的系统要求)。
您必须仔细选择临时文件名。否则它可能会意外覆盖现有文件。mktemp可能会有所帮助,但未命名管道可以完全节省您的命名工作。
临时文件所在的文件系统可能不够大,无法容纳整个数据。
临时文件不会自动清理。
echo foo | xargs -L 1 -I '{}' echo '{}'
Run Code Online (Sandbox Code Playgroud)
foo
Run Code Online (Sandbox Code Playgroud)
echo foo | xargs -I '{}' -L 1 echo '{}'
Run Code Online (Sandbox Code Playgroud)
{} foo
Run Code Online (Sandbox Code Playgroud)
为什么更改 xargs 的选项顺序会更改输出?
版本: xargs (GNU findutils) 4.6.0
我正在 Fedora 上从 SRPM 构建一个包:
$ rpmbuild --rebuild *.src.rpm
...
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
warning: user mockbuild does not exist - using root
warning: group mockbuild does not exist - using root
...
Run Code Online (Sandbox Code Playgroud)
该包已构建,但有很多这样的mockbuild does not exist警告。即使我安装了软件包,我的系统上似乎也没有这样的帐户mock。我还缺少其他任何软件包吗?这是包装上的故障还是我的系统故障?如何消除这些警告?
我认为我的机器上的 X 在没有/etc/X11/xorg.conf. 有些文章说这个文件现在已经过时了,但是一些类 Unix 的发行版仍然教用户如何用这个文件配置 X。
那么这个文件的当前状态是什么?应该使用还是不使用?如果它没有被弃用,为什么 X 可以在没有它的情况下正常工作?
Bash 如何初始化局部变量?以下命令是否总是做同样的事情(在函数内部使用时)?
local foo
local foo=
local foo=""
Run Code Online (Sandbox Code Playgroud) 要远程运行交互式程序,应该使用ssh -t <host>. 但这个-t选项也有缺点,所以不适合在非交互式程序上使用它。
我的问题是:我有几台机器。其中一些用于交互式程序,另一些用于非交互式程序。所以我必须准确地记住哪些需要-t。是否可以添加此内容~/.ssh/config以便我不必记住它?
基本上我想要的是这样的:
Host interactive
HostName example.com
User user
Option "-t"
Run Code Online (Sandbox Code Playgroud)