所以我刚刚在我的笔记本电脑上安装了最新的 Kali Linux,它基于 Debian 7(oldstable)。然后我将整个东西升级到 Debian 8。
我一直想要 Wayland 而不是 X11,所以我安装了必要的软件包。然后创建了一个最小~./config/weston.ini
配置。现在,从 Gnome 登录屏幕:
我可以启动到Gnome on Wayland
或LXDE
(除其他外)。前者的成功非常有限,后者 (LXDE) 几乎完美,尽管面板需要设置(我必须查找 freedesktop)。
无论如何,在 LXDE 中,GUI 的响应速度比在 oldstable 上更快,并且在运行 Windows 7 时可能也一样快。我很高兴。
但我想知道这是因为从 Debian 7 到 8 的所有库/模块升级还是因为使用 Wayland(如果我真的在使用 Wayland)。我浏览了 htop,发现了一个/usr/bin/Xorg
正在运行且没有名为“wayland”的进程。那么我目前正在运行哪一个?
Linux 的显示系统使用多种技术、协议、扩展、应用程序、服务器(守护进程)、驱动程序和概念来实现窗口系统,例如:
Xorg、Wayland、X11、OpenGL、RandR、XrandR、屏幕分辨率、DPI、显示服务器、等等。
当我们没有完整的画面时,大量的内容可能会让人不知所措或令人困惑。Linux 显示系统的每一面都有多个文档,但在全球范围内它究竟是如何工作的?
我在带有 UK/GB 键盘的 Macbook 上使用 Linux,我自定义了键盘映射以解决 Apple 奇怪的键盘布局导致的一些问题。我xmodmap
用来做这个。我想尝试 Wayland,但xmodmap
在这方面不起作用。如何在 Wayland 中获得类似的结果?.Xmodmap
我使用的文件包含以下内容:
keycode 12 = 3 numbersign 3 sterling sterling sterling threesuperior sterling
clear Control
clear Mod4
add Control = Control_L Super_R
add Mod4 = Super_L
keysym Caps_Lock = NoSymbol Caps_Lock
Run Code Online (Sandbox Code Playgroud)
第 1 行:在英国键盘上Shift-3是 £,因此 # 通常在 附近有自己的键Return。但是在 Mac 上 # 是用Altgr-获得的3。作为一名程序员,我使用的 # 远远超过 £,所以这一行将它们交换了。选择 US 布局也可以实现这一点,但在 Linux 中这样做也会交换一些其他常用的键,而在 OS X 中,这些其他键不受 US/UK 的影响。
第 …
我一直在寻找轻量级 X 服务器,但没有找到。然后我发现了Wayland。我说它旨在与 X 共存,但可以独立运行。
当我尝试编译它时,它需要 Mesa,而 Mesa 需要 X。
韦兰究竟是什么?
由于 XKB 是 X 窗口的一部分,Wayland 中是否也使用了 XKB?如果是这样,是否有任何实用程序计划在某个时候取代 XKB?
在韦斯顿,setxkbmap 显然不起作用。当前推荐的更改键盘布局的方法是什么?
如果我在 Gnome 设置中设置 175% 缩放,则该值将保存1.7518248558044434
为~/.config/monitors.xml
:
<monitors version="2">
<configuration>
<logicalmonitor>
<x>0</x>
<y>0</y>
<scale>1.7518248558044434</scale>
<primary>yes</primary>
<monitor>
<monitor spec>
<connector>DP-3</connector>
Run Code Online (Sandbox Code Playgroud)
为什么会这样呢?起初,我认为这可能是由于浮点舍入误差造成的,但 1.75 是可以表达精确值的快乐数字之一。
侏儒韦兰 43.3
当我使用 X11 桌面时,我可以通过共享$DISPLAY
变量和/tmp/X11-unix
目录在 docker 容器中运行图形应用程序。例如:
docker run -ti -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix some:ubuntu xclock
Run Code Online (Sandbox Code Playgroud)
现在,我在 Fedora 25 上运行 Wayland,所以没有 X11 基础设施与容器共享。如何在容器中启动图形应用程序,并让它显示在我的桌面上?有什么办法可以绑定 XWayland 吗?
我想确定一个窗口在 Wayland 中属于哪个进程。是否有类似xprop
X 的东西允许用户通过单击选择一个窗口并输出所有窗口详细信息,包括 PID?
运行 vlc 时出现以下错误:
$ vlc
VLC media player 3.0.11 Vetinari (revision 3.0.11-0-gdc0c5ced72)
[0000561d2cc24a30] vlcpulse audio output error: PulseAudio server connection failure: Connection refused
[0000561d2cbf2f50] main interface error: no suitable interface module
[0000561d2cb5a460] main libvlc error: interface "globalhotkeys,none" initialization failed
[0000561d2cb5a460] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling …
Run Code Online (Sandbox Code Playgroud) Gnome 3.22 默认使用 wayland。Wayland 上的 Gnome 不读取~/.profile
(或~/.bash_profile
或/etc/profile
)。请参阅https://bugzilla.gnome.org/show_bug.cgi?id=736660。
我的初始化文件设置如下:
.bash_profile
除了来源.profile
和.bashrc
.profile
只设置环境变量,如PATH
和LC_MESSAGES
.bashrc
为less
和 等应用程序设置一些 bash 特定的设置和别名以及环境变量grep
。效果(在wayland之前)如下:
.profile
读取和环境变量,如PATH
和LC_MESSAGES
设定。当我在终端模拟器中打开 bash 时.bashrc
被读取。.bash_profile
被读取,然后读取.profile
并.bashrc
.在所有情况下.profile
和.bashrc
都已阅读并设置了我的环境。
所以现在gnome 3.22使用wayland而wayland不读取 .profile
。如何设置我的初始化文件,以便再次获得上述效果?
请注意,我不坚持某些文件(例如 .profile
读取)。我想要的是以合理的方式设置我的环境。这意味着我想将 bash 特定设置保留在 bash 初始化文件中,并将其他设置保留在其他初始化文件中。另外,我不想将设置复制到不同的文件中。
我用的是arch linux。欢迎所有发行版的答案。在建议解决方法时,请同时描述副作用和优缺点。
更新2017年11月:据我了解GNOME开发者都承认,人们期待他们的登录shell的配置文件(.profile
并.bash_profile
在bash的情况下)在登录后采购。无论是文本登录还是图形登录。所以我上面概述的用例再次起作用。 …