xorg.conf、xset和xinput set有什么区别?

7
我不明白为什么xset和xorg.conf有完全相同目的但选项却截然不同?为什么会有两个而不是一个?他们的参数为什么不能有相同的名称?即使在xorg.conf中,也有多个具有不同名称但具有相同效果的选项。为什么这样混乱?
例如,我可以通过以下方式在xorg.conf中停用鼠标加速度:
Option "AccelerationProfile" "-1"

或者使用
xset m 0 0

我使用的是Arch Linux,配备Gnome 3和Linux内核3.0.26-1-lts。


PS:请写下你为什么要给它投反对票。我已经在谷歌上搜索过了,但是无论如何都找不到解释。 - Konrad Höffner
你在这里尝试解决什么具体的编程问题?这是一种抱怨,而不是一个问题。(它也可能与主题无关) - Wooble
1
开始编程前,我想将我的鼠标灵敏度调整为900 dpi,因此我想知道应该在哪里进行调整 - 在xset、xorg.conf还是xinput set-props中。另外,仅仅因为你认为这是抱怨,并不意味着它就是抱怨。我只是想知道为什么会这样(历史原因,也许有一些道理,我只是还没有找到)。 - Konrad Höffner
我同意这个问题听起来更像是抱怨而不是问题。为了避免这种情况发生,请给出每个你所声称的事情的示例。尽管如此,在我看来,这仍然是一个有效的问题:即使你只是阅读问题标题并忽略内容,它看起来也像一个有效的问题。 - pzanoni
2个回答

10

xorg.conf文件用于在启动X时设置配置。一旦您启动了X,更改xorg.conf将不会有任何影响(除非您重新启动X,但这需要注销)。

xsetxinput命令用于在启动X后更改配置。这意味着即使xorg.conf中有默认选项,您(或您的工具包)也可以在运行时更改此默认选项。您可以在无需注销的情况下继续更改选项。

这解释了xorg.conf和运行时应用程序(如xsetxinput)之间的区别。 xsetxinput之间的区别写在xset的手册页中:

The setting is applied to  all  connected  pointing
devices.  xinput(1)  should be used if you need device-specific
settings.

你提到在xorg.conf中有多个名称不同但效果相同的选项,我想看一个例子。我知道一些选项存在“交集”,但它们通常是为了不同的目的而设计的。


具有相同效果的多个选项的示例将是“分辨率”和“灵敏度”,据我所读,它们可以设置鼠标的DPI。但对我来说都无效。 - Konrad Höffner

4

xorg.conf是一个非常古老的配置系统,一直存在。它的缺点是必须重新启动X才能使设置生效。然而,在X服务器中,它被很好地集成,并且相对容易添加新的设置。

但是,现代的X开发人员倾向于使用接口,在X运行时可以更改X设置。这通常需要创建API /协议和X扩展来实现可以从用户空间使用的接口。xinput、xrandr、xset等都是此类即时自定义的示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接