Área de trabalho remota / visualizador remoto para dispositivos Ubuntu Touch?

1

Eu queria saber, existe uma ferramenta que eu poderia rodar no Ubuntu Desktop e estar conectada a um dispositivo Ubuntu Touch através de um aplicativo de desktop remoto (ou display remoto), de tal forma que os cliques do mouse também sejam propagados como toques no dispositivo? (e também copiar / colar de texto)?

Basicamente, se o Ubuntu Touch usasse o X11, eu poderia ter usado vinaigre ou xvnc4viewer no Ubuntu Desktop como clientes VNC, e Vino como servidor VNC no dispositivo - no entanto, o Ubuntu Touch usa Mir e eu realmente não pode encontrar qualquer informação sobre a área de trabalho remota / display via Mir.

Então, há algo assim lá fora?

    
por sdbbs 02.05.2016 / 11:20

1 resposta

2

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:

Realtime screencasting do Ubuntu Phone - mirscreencast para computador desktop em tempo real. - 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
    
por sdbbs 02.05.2016 / 11:45