Bem, existe uma solução parcial - no sentido de você poder ver a tela, mas não controlá-la pelo mouse. Eu notei isso executando phablet-screenshot
no modo de depuração, que informa que ele usa um programa mirscreencast
no telefone.
Há um pouco mais sobre isso no link , no entanto, a linha de comando mais conveniente que eu encontrei em ... Youtube:
Início da transmissão (no dispositivo):
mirscreencast -m /run/mir_socket --stdout --cap-interval 1 -s 270 480 | gzip -c | nc 192.168.0.5 1234
Receber transmissão (no PC de mesa):
nc -l -p 1234 | gzip -dc | mplayer -demuxer rawvideo -rawvideo w=270:h=480:format=rgba -
Além disso, há link - meio experimental, eu consegui compilar em 14.04 telefone e corra, e pode conectar-se através de um cliente VNC, mas não consigo obter uma atualização em tempo real da tela (apenas o primeiro quadro é mostrado e nenhum mouse é atualizado); aqui estão as minhas notas - infelizmente, não totalmente completas, mas dá uma ideia:
# 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