Running Wayland

原文:https://jan.newmarch.name/Wayland/RunningWayland/

Resources

Weston under X

A Wayland compositor is a mixture of a Wayland server, a window manager and a compositor. Weston is a reference implementation of a compositor and normally would be run as a full windowing system, talking directly to the hardware. How to do this is described
in the next section.

In order to experiment with Weston in an X environment, Weston can talk to the X server as though it was an X client. This is not the intended use of Wayland, but can be useful. This kind of use will not in general be supported by Wayland compositors. Anyway,
to use Weston this way, simply type

	
weston

from within an X terminal.

This will bring up a window under X looking like

WestonIt contains a small menu bar across the top, with a terminal icon
and the date. If you were around at the beginning of X, then it would look pretty familiar - and we all got really excited by it! This window is decorated by the X window manager, which would not happen in a standalone environment.

Wayland in a standalone environment

If you are running a Linux system in a command line environment, then you can start a Wayland compositor directly, talking to the hardware. For example, to run Weston type the following at the command prompt:

	
weston-launch

This will set the proper access permissions and run Weston.

It is not possible to do an X screen dump of this: the standard X tools such as gnome-screenshot will try to connect to the X server, and there isn't one running!

Virtual terminals

Linux has had virtual terminals almost from the beginning. These allow you to have multiple login sessions, each basically independent of the others. By default, Linux has seven of these, so you can have upto seven login sessions running. Note that this is not the
same as using multiple terminal windows under X: this is a separate mechanism.

You switch between virtual terminals by the key sequence CTL-ALT-F<n> where n is 1-7. If you are running X as in a normal user distro, then that is usually running in virtual terminal 7. So if you press the keys CTL-ALT-F4 you will get a login prompt for virtual
terminal 4. When you want to return to your GUI environment, just press CTL-ALT-F7.

Virtual terminals and X

This is easy: when you switch to another virtual terminal, the X server releases control of the hardware. That means you can do whatever you want, including starting up another X session!

Running a Wayland compositor in a virtual terminal

Switch to a virtual terminal. Login, and at the command prompt, start a compositor.

Many distros such as Ubuntu include the proof-of-concept compositor weston in their repositories. Download and install it by, say,

	
sudo apt-get install weston

under a Debian-derived system such as Ubuntu. Then in a virtual terminal, run

	
weston-launch

What runs under Wayland?

If it's an application relying only on X, then it won't run. This includes applications with a long history in X: xtermxclock and xedit,
for example. They just complain that they can't find an X server and give up.

Many GUI applications are now built using toolkits such as Gtk or KDE. Many of these toolkits are progressively including support for Wayland, and many of their applications run okay. This includes for example eog.
But other applications using Gtk don't, including Firefox, Chromium and Gimp. This is at June, 2014. The situation can change rapidly.

XWayland

The X server can be modified to talk to Wayland instead of to the hardware. This has been done as the XWayland project. At present, Weston has been modified to listen on the X ports 6000+. It starts an X server as a Weston client when an X client starts.

To run Weston with XWayland, in a non-X environment, run

	
weston-launch -- --modules=xwayland.so

[doesn't work for me. sets DISPLAY to :1 but xclock can't open it]

The page XWaylandhas details.

【ARM-LInux开发】如何运行wayland的更多相关文章

  1. 在Ubuntu上建立Arm Linux 开发环境

    我使用的是友善2410的板子,以前都是用Fedora,现在家里的电脑被我转为Linux专用的了,装的是Ubuntu.但是嵌入式还是要玩的,在装载过程中也遇到一些小麻烦.在此记录一下,一来自己比较健忘, ...

  2. 成功移植SQLite3到ARM Linux开发板

    SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了 ...

  3. 用 qemu-user 在arm linux机器上运行amd64/x86程序

    1. qemu-user 是什么 本来, 对于 QEmu, 我只知道它是一个模拟器, 可以像 VirtualBox/VMWare 那样跑一个操作系统, 只不过 QEmu 可以在 AMD64 上面跑针对 ...

  4. minigui移植到arm linux开发板上无法执行

    要保证目录下有该文件 /etc/MiniGUI.cfg 复制过程使用cp –af 强制复制

  5. 【Qt开发】【Linux开发】Qt程序在嵌入式设备(arm) 上运行,鼠标擦除界面的解决方案

    笔者最近想在arm开发板上,开发一个应用程序,经过网上查询发现qt作为跨平台开发软件很不错,于是便选择了qt开发,笔者的qt版本是4.8.6的.由于arm的主频太低,在arm上进行开发编译,效率会大大 ...

  6. 构建 ARM Linux 4.7.3 嵌入式开发环境 —— BusyBox 构建 RootFS

    上一篇我们已经成功将 ARM Linux 4.7.3 的内核利用 U-BOOT 引导了起来.但是细心的你会发现,引导到后面,系统无法启动,出现内核恐慌 (Kernel Panic). 原因是找不到文件 ...

  7. 构建 ARM Linux 4.7.3 嵌入式开发环境 —— U-BOOT 引导 Kernel

    经过若干天的反复测试,搜索.终于成功利用 Qemu 在 u-boot 下引导 ARM Linux 4.7.3 内核.如下详细解释整个构建过程. 准备环境 运行环境:Ubuntu 16.04 需要的虚拟 ...

  8. golang 2行代码在基于arm linux的树莓派、orangepi上运行http web服务

    go语言(golang)简化了跨平台交叉编译步骤,支持在windows系统下交叉编译基于arm+linux平台的应用,运行时无需其它依赖库.以下以一个简单的http server为例,先上源码: ** ...

  9. Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核

    Qemu搭建ARM vexpress开发环境(二)----通过u-boot启动Linux内核 标签(空格分隔): Qemu ARM Linux 在上文<Qemu搭建ARM vexpress开发环 ...

  10. # 【ARM-Linux开发】在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): 【Linux开发】 --- > 一段时间以来,一直是在Windows上安装虚拟机

    [ARM-Linux开发]在Win7的电脑上直接运行安装Ubuntu14.04发生的问题 标签(空格分隔): [Linux开发] 一段时间以来,一直是在Windows上安装虚拟机,然后安装Ubuntu ...

随机推荐

  1. 洛谷P1144 最短路计数【堆优化dijkstra】

    题目:https://www.luogu.org/problemnew/show/P1144 题意:问1到各个节点的最短路有多少条. 思路:如果松弛的时候发现是相等的,说明可以经过该点的最短路径到达当 ...

  2. activemq的配置与结合spring使用

    其实无论在win下还是在linux下,都可以运行得很爽 下载安装包地址: http://www.apache.org/dyn/closer.cgi?path=/activemq/5.12.1/apac ...

  3. python--第四天练习题

    #1.写函数,利用递归获取斐波那契数列中的第 10 个数,并将该值返回给调用者. def rec(a,b,dep=1): c = a + b if dep == 10: return c return ...

  4. PHP实现页面跳转功能

    PHP跳转到指定页面的问题通常都会建设网站需求上看到,比如我们需要从一个页面跳转到另一个页面来实现某个功能或者效果.其实在PHP中进行页面跳转是有多种方法的,那么这篇文章就给大家介绍下,有哪些方法可以 ...

  5. 015_使用 expect 工具自动交互密码远程其他主机安装 httpd 软件

    #!/bin/bash#删除~/.ssh/known_hosts 后,ssh 远程任何主机都会询问是否确认要连接该主机rm -rf ~/.ssh/known_hostsexpect <<E ...

  6. centos 利用iptables来配置linux禁止所有端口登陆和开放指定端口的方法

    1.关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放. 下面是命令实现: iptables -P INPUT DROPiptables -P FORWARD DROPiptabl ...

  7. redis集群搭建问题

    redis集群创建执行 ./redis-trib.rb create --replicas 1 XXXX:PORT1 XXXX:PORT2 .... 的时候 一直等待 Waiting for the ...

  8. easyui-textbox输入框数字校验

    输入框数字校验 $("#reg_num").textbox('textbox').bind('keyup', function(e){ $("#reg_num" ...

  9. elasticsearch _all

    在轻量搜索中,我们介绍了 _all 字段:一个把其它字段值 当作一个大字符串来索引的特殊字段. query_string 查询子句(搜索 ?q=john )在没有指定字段时默认使用 _all 字段._ ...

  10. Git 中无法忽略 .xcuserstate 的解决方法

    1.查看代码变化git status 2.接着输入 git rm –cached 刚才复制的地址 ,如下.git rm --cached RxSwift/Rx.xcodeproj/xcuserdata ...