用于Ubuntu Touch设备的远程桌面/远程显示器查看器?

我想知道,是否有一个工具可以在Ubuntu桌面上运行,并通过远程桌面(或远程显示)应用程序连接到Ubuntu Touch设备,这样鼠标点击也可以作为设备上的点击传播(还有,复制/粘贴文本)?

基本上,如果Ubuntu Touch使用X11,那么我可以在Ubuntu桌面上使用xvnc4viewerxvnc4viewer作为VNC客户端,在设备上使用Vino作为VNC服务器 – 但是,Ubuntu Touch使用Mir,我无法找到任何有关远程桌面的信息/通过Mir显示。

那么,那里有这样的东西吗?

好吧,有一个部分解决方案 – 从你可以查看屏幕的意义上,但不能从鼠标控制它。 我通过在调试模式下运行phablet-screenshot注意到它,它报告它在手机上使用程序mirscreencast

在https://wiki.ubuntu.com/Touch/ScreenRecording中有更多关于它的信息,但是,我找到了最方便的命令行… Youtube:

从Ubuntu手机实时屏幕播放 – 实时屏幕直播到电脑桌面。 – YouTube

开始传输(在设备上):

 mirscreencast -m /run/mir_socket --stdout --cap-interval 1 -s 270 480 | gzip -c | nc 192.168.0.5 1234 

接收传输(在台式PC上):

 nc -l -p 1234 | gzip -dc | mplayer -demuxer rawvideo -rawvideo w=270:h=480:format=rgba - 

另外,有https://github.com/ycheng/mir-vnc-server – 有点实验,我设法让它在14.04手机上编译并运行,并且可以通过VNC客户端连接,但我无法实时更新屏幕(仅显示第一帧,不更新鼠标); 这是我的笔记 – 不幸的是,并非完全完整,但提出了一个想法:

 # in 64-bit Ubuntu 14.04: # (/path/to/docker is general storage dir) git clone https://github.com/ycheng/mir-vnc-server.git /path/to/docker/mir-vnc-server_git sudo docker pull z3ntu/ubuntu-touch-build-env sudo service docker start sudo docker run -vit /path/to/docker/:/var/ubuntu_touch z3ntu/ubuntu-touch-build-env /bin/bash sudo apt-get install gcc-arm-linux-gnueabi binutils-arm-linux-gnueabi sudo apt-get install g++-arm-linux-gnueabi sudo apt-get install g++-arm-linux-gnueabihf sudo apt-get install libvncserver-dev # else dummyvncserver.c:3:21: fatal error: rfb/rfb.h: No such file or directory sudo ln -s /usr/include/x86_64-linux-gnu/zconf.h /usr/include/ # else /usr/include/zlib.h:34:19: fatal error: zconf.h: No such file or directory sudo apt-get install libmirclient-dev # else fatal error: mir_toolkit/mir_client_library.h: No such file or directory sudo apt-get install libgles2-mesa-dev # else fatal error: EGL/egl.h: No such file or directory # because of ..../arm-linux-gnueabi/bin/ld: cannot find -lvncserver: apt-get source libvncserver0 apt-get source zlib1g cd zlib-1.2.8.dfsg/ ./configure CC=arm-linux-gnueabi-gcc make # should get: ./libz.so.1.2.8: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, ... cp -a *.so* /path/to/docker/libvncserver-0.9.9+dfsg/ cd .. cd libvncserver-0.9.9+dfsg aclocal autoconf autoheader automake --add-missing # ld: cannot find -lgcrypt, -lgnutls, -lws2_32; so: # in configure, comment out 'LIBS="$LIBS -lws2_32"', and then: LD_LIBRARY_PATH=${PWD} ./configure --host=arm-linux-gnueabi --without-gcrypt --without-gnutls cd libvncserver/ CC=arm-linux-gnueabi-gcc make CFLAGS+="-DLIBVNCSERVER_HAVE_GETTIMEOFDAY -DLIBVNCSERVER_HAVE_LIBZ" # should get: libvncserver/.libs/libvncserver.so.0.0.0: ELF 32-bit LSB shared object, ARM, EABI5 version 1 (SYSV), dynamically linked, ... cp libvncserver/.libs/* /path/to/docker/mir-vnc-server_git/ cd /path/to/docker/mir-vnc-server_git/ LD_LIBRARY_PATH=${PWD} CC=arm-linux-gnueabi-gcc CXX=arm-linux-gnueabihf-g++ make # here got stuck, and went on phone instead: # http://askubuntu.com/questions/600065/consequences-of-using-apt-get-in-ubuntu-touch # phablet-config writable-image # more-less repeated the procedure above, but on the phone - possibly with some changes in Makefile and/or source files (unfortunately, lost) # final linking command for executable had to be issued manually, it was: g++ mirvncserver.o -o mirvncserver -L/usr/lib/arm-linux-gnueabihf -lpthread -lmircommon -lmirclient -lmirprotobuf -lEGL -lboost_program_options -lxcb-glx -lGLESv2 -lmirserver -lvncserver # run like this - in a phone terminal shell: # -s 270 480: WARNING: Width (270) is not a multiple of 4. VncViewer has problems with that. ./mirvncserver -m /run/mir_socket --cap-interval 2 -s 268 480 # then on desktop - use the IP address of the phone on the local network: xvnc4viewer 192.168.XXX.YYY