by Devin Yang
(This article was automatically translated.)

Published - 7 years ago ( Updated - 2 years ago )

Because after the Mac OS Leopard version, Apple no longer builds X11 and requires everyone to use the open source XQuartz.
So if you want to display the X client screen on Mac OS, remember to install the Mac OS dedicated X11 server:
https://www.xquartz.org/index.html

First , before starting the MacOS environment, please remember to install XQuartz, and remember to tick the Enable network connection option

Here, let's take everyone to execute step by step
1. Authorize the Client

xhost + 127.0.0.1

TEST If you type xhost, you can see which clients are authorized. If you want to fully open, you can type xhost +

xhost +
access control disabled, clients can connect from any host

2. Here I use the Ubuntu image as an example, change the environment variables and enter bash

X=/tmp/.X11-unix && \
docker run --rm  \
-v $X:$X -e DISPLAY=host.docker.internal:0 \
-ti ubuntu bash

3. Install xeyes

apt-get update&&apt-get -y install x11-apps&&xeyes

Fourth, execute xeyes

xeyes

The result is as follows:


So, we can make a row

X=/tmp/.X11-unix && \
docker run --rm  \
-v $X:$X -e DISPLAY=host.docker.internal:0 \
-ti ubuntu sh -c 'apt-get update&&apt-get -y install x11-apps&&xeyes'

 

 


 

Tags: linux docker

Devin Yang

Feel free to ask me, if you don't get it.:)

No Comment

Post your comment

Login is required to leave comments

Similar Stories


linux

Load the environment variables of .env to the system

Load the environment variables of .env to the system

linux

Generate ssh key pair without password query

Sometimes it is necessary to generate an ssh key pair for automatic configuration. There is no password query in the command line, and an ssh key pair is generated.

docker,laravel

[D-Laravel]./console node

When developing Laravel, sometimes we need to install nodejs packages through npm, but Node in our system is not new enough. It may be impossible to upgrade due to some factors, such as running an old version of nodejs program, etc. In fact, we can use docker through simple commands, so that we can use the latest version of node image to mount the /sites folder on the host side. In this way, we can execute the new version of the npm command at any time.