版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 (作者:张华 发表于:2019-04-14)

买了一款Intel compute stick core m3, 具有HDMI接口输出音频, 但如何使用手机临时地作为显示器及键盘鼠标控制它呢?

屏幕共享 - vnc & teamviewer & anydesk

windows上有一款叫spacedesk的软件, 电脑和手机上都安装它之后, 在同一个局域网可以很方便地从手机控制电脑棒.
Ubuntu上可以使用vnc, teamviewer, anydesk.

  • ubuntu上安装VNC
# https://medium.com/@aldo_mx/simplest-way-to-configure-vnc-server-in-xubuntu-16-04-lts-and-newer-6c0b3ae21fe5
sudo apt-get install vino
gsettings list-recursively org.gnome.Vino
# some clients like TightVNC for Windows do not work with encryption anymore
# because older protocols like SSLv3 and TLSv1 have been deprecated.
# dconf-editor - ORG > GNOME > DESKTOP > REMOTE ACCESS
gsettings set org.gnome.Vino require-encryption false
# activate at startup, or set "Settings -> Sharing -> screen Sharing" in ubuntu
sudo cp /usr/share/applications/vino-server.desktop /etc/xdg/autostart/vino-server.desktop
# #enable "Application Autostart -> Desktop Sharing(Gnome Desktop Sharing Server)"
xfce4-session-settings
/usr/lib/vino/vino-server --sm-disable
vncviewer 192.168.99.124:5900 #but too slow

需注意两点:一是要设置require-encryption=false, 二是手机上使用realvnc client时不应该登陆,因为没用realvnc server,而是用的vino server
但是vino太慢了,改成vnc4server又是花屏的.

sudo apt -y install vnc4server
vncpasswd #not use sudo
#vncserver -kill :0
#taken because of /tmp/.X11-unix/X0
sudo rm /tmp/.X11-unix/X0 && sudo rm /tmp/.X0-lock
vncserver -geometry 1280x800 -alwaysshared :0

所以最后使用xrdp

sudo apt -y install xrdp
cat /etc/xrdp/xrdp.ini
sudo systemctl status xrdp
sudo adduser xrdp ssl-cert
#sudo ufw allow from 192.168.99.0/24 to any port 3389
#sudo ufw allow 3389
use Remmina as rdp client
  • 安装使用anydesk使用屏幕, 鼠标, 键盘. (但没法用本地摄像头)
wget https://download.anydesk.com/linux/anydesk_4.0.1-1_amd64.deb
sudo dpkg -i anydesk_4.0.1-1_amd64.deb
sudo apt --fix-broken install
sudo dpkg -i anydesk_4.0.1-1_amd64.deb
echo 'password' |sudo anydesk --set-password
sudo systemctl enable anydesk.service

最后, 设置anydesk, 设置允许随时连接查询, 并设置密码, 禁用掉声音传输.
但又遇到一个问题, 在笔记本上测试anydesk似乎没有问题. 但移到电脑棒上后, 电脑棒启动后经常无故死机. (无故死机的问题找到了, 一次是因为电源没插好接触不良, 另一次是应用了平时给手机充电的Type-A USB输出的充电器, 应该使用自带的APD亚源科技的Type-C输出口的充电器(输出则是5.2V 2.2A(Type-C对机身)、5V 0.9A(对两个Type-A),这个问题真难查). 但仍然遇到一个问题 (手机上的anydesk发起连接时报: 连接已终止,. 状态: result_invalid_state,暂不清楚原因)

  • 切换为teamviewer, 也是遇到类似问题, 曾经成功过, 但之后手机上的teamviewer就一起报: teamviewer正在启动, 请稍候. (该问题原因已找到, 因为墙,用4G网络可以, 见: https://github.com/ywb94/openwrt-ssr/issues/31 及 https://zvv.me/z/1366.html )

还存在一个问题: **如果电脑棒不通过HDMI接口接一个显示器, 电脑棒重启之后通过远程桌面连接过去看到的是一屏黑色. 那是因为Linux服务器一般是不接显示器的,用ssh等文字界面连接管理即可, 可是有些软件需要GUI管理,若不接显示器,xwindows是默认无法启动的,从而导致vnc server连接失败, 可配置一块fake显示器解决:

# https://askubuntu.com/questions/453109/add-fake-display-when-no-monitor-is-plugged-in
sudo apt-get install xserver-xorg-video-dummy xfce4 chromium
sudo bash -c 'cat > /usr/share/X11/xorg.conf.d/xorg.conf' <<EOF
Section "Device"Identifier  "Configured Video Device"Driver      "dummy"
EndSectionSection "Monitor"Identifier  "Configured Monitor"HorizSync 31.5-48.5VertRefresh 50-70
EndSectionSection "Screen"Identifier  "Default Screen"Monitor     "Configured Monitor"Device      "Configured Video Device"DefaultDepth 24SubSection "Display"Depth 24Modes "1024x800"EndSubSection
EndSection
EOF
sudo reboot

但是使用上述的软件模拟的显示器, 会造成即使接了真显示器, 还是用得虚拟的, 所以不方便啊. 网上有硬件的Dummy HDMI可用.

kdeconnect

kdeconnect可以用来在ubuntu与androd之间双向传输数据, 例如电脑使用手机的键盘鼠标, 电脑与手机相互传输数据, 手机上的短信通知发给电脑显示.
直接在电脑与手机上安装kdeconnect即可使用.

sudo apt install kdeconnect

但kdeconnectd进程 (/etc/xdg/autostart/kdeconnectd.desktop)在ubuntu未登录之前是不会启动的, 所以禁用掉电脑棒的密码登录设置它为自动登录即可.

gsconnect gshell extension

gsconnect与kdeconnect是类似的东西, 它不依赖kde的一些包, 但它依赖Gnome desk与chrome, 电脑棒启动后没有自动启动chrome的话用不了. 所以实际我用的还是kdeconnect, 但这里记录使用gsconnect的过程.

  • 安装gnome-shell-extension与chrome-gnome-shell
gnome-shell --version
sudo apt install gnome-shell-extensions
sudo apt install chrome-gnome-shell

离个题, 例如想显示各个不同时区的team member的上班时间的话, 可以添加~/people.json将每个人的时区按下列格式添加进去即可.

vim ~/people.json
[
{"name": "your name","github": "your lauchpd id",                                                                                                  "city": "Beijing","tz": "Asia/Shanghai"
}
]
  • 访问这个网址https://extensions.gnome.org/extension/1319/gsconnect/ 方便地安装gsconnect即可 (注意: 如果出错, 多半是因为没有在chrome里访问 chrome://extensions/ 将GNOME Shell integration打开的原因).
  • 手机上在play里搜索安装KDE Connect, 并打开它, 和gsconnect为pair配对.
  • 还可以支持电脑上Nautilus来mount手机上的文件
sudo apt install python-nautilus gir1.2-nautilus-3.0 sshfs
# then send file to Android by first open the nautilus then right click one file "Send to Mobile Device -> Nokia"

附录 - 让vnc开机自动运行

刚开始打算把开vnc的脚本放到rc.local里,但不work, 因为运行vnc是需要home目录的

/usr/bin/vncserver -kill :4
/usr/bin/vncserver :4 -localhost no -geometry 1024x768
/usr/bin/ssh -o ConnectTimeout=5 -o ServerAliveInterval=50 -fNR 43301:localhost:5904 xxx-jump
sudo bash -c 'cat >/etc/systemd/system/rc-local.service' <<EOF
[Unit]Description=/etc/rc.local CompatibilityConditionPathExists=/etc/rc.local
[Service]Type=forkingExecStart=/etc/rc.local startTimeoutSec=0StandardOutput=ttyRemainAfterExit=yesSysVStartPriority=99
[Install]WantedBy=multi-user.target
EOF
printf '%s\n' '#!/bin/bash' 'exit 0' | sudo tee -a /etc/rc.local
sudo chmod +x /etc/rc.local
sudo systemctl enable rc-local
sudo systemctl restart rc-local.service
sudo systemctl status rc-local.service

所以最后搞成下面的:

sudo bash -c 'cat >/etc/init.d/vncserver' <<EOF
#!/bin/sh -ePATH="$PATH:/usr/X11R6/bin/"# The Username:Group that will run VNC
export USER="zhhuabj"
#${RUNAS}# The display that VNC will use
DISPLAY="4"# Color depth (between 8 and 32)
DEPTH="16"# The Desktop geometry to use.
#GEOMETRY="<WIDTH>x<HEIGHT>"
GEOMETRY="1024x768"# The name that the VNC Desktop will have.
NAME="zhhuabj-vnc"OPTIONS="-name ${NAME} -depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}". /lib/lsb/init-functionscase "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;restart)
$0 stop
$0 start
;;
esacexit 0
EOF
sudo chmod +x /etc/init.d/vncserver
sudo update-rc.d vncserver defaults
sudo /etc/init.d/vncserver start

vncserver

sudo apt install vnc4server xfce4 xfce4-goodies -y
vncpasswd
sudo bash -c 'cat > ~/.vnc/xstartup' << EOF
#!/bin/bash
startxfce4 &
EOF
sudo chmod +x ~/.vnc/xstartup
/usr/bin/vncserver -kill :1
/usr/bin/vncserver :1 -geometry 1024x768
sudo ufw allow from any to any port 5901 proto tcp

20200818更新

使用todesk - https://www.todesk.com/download.html

手机作为显示器及键鼠控制电脑棒(by quqi99)相关推荐

  1. 如何把笔记本做台式机的副屏(一套键鼠控制两台电脑)

    通过一套键鼠控制两台电脑 前提 安装所需的软件 一. 简介 二. 安装 2.1 小技巧 前提 两台电脑在同一个局域网内,并且均为windows操作系统 例如两台电脑链接的同一个WIFI,或者笔记本无线 ...

  2. 单键鼠控制多台电脑:无界鼠标简单教程

    https://www.bilibili.com/read/cv16470540 事情的起因是这样的,我在实验室有一台台式电脑,还有一个笔记本. 但是我只有一套好用的键盘鼠标.此前使用的时候,一般都是 ...

  3. Python 键鼠控制

    2021/9/18,在bilibili看到小马视频https://www.bilibili.com/video/BV1b4411T7Gn?share_source=copy_web,学到了用Pytho ...

  4. 3.9L的机箱+15.6寸的便携显示器+无线键鼠,便携与性能的极致结合!

    前言:提供新的思路,一样的便携与高性能,拒绝游戏本. 2018年10月25日 cpu+主板套装:ROG STRIX B360I GAMING + I5 8400 中文盒装 天猫:2159 内存条:海盗 ...

  5. 扩展坞可以把手机投到显示器吗_你的电脑可以省了!华为Mate 30搭配绿联新一代扩展坞轻松变电脑...

    上个月华为Mate 30 系列手机发布,惊艳了很多人.随着华为Mate 30系列的上市开售,这款备受瞩目的年度旗舰手机好评不断,从环幕屏的外观,到徕卡四摄拍照.超强芯片麒麟990.无实体音量调节等都被 ...

  6. 两台电脑共享怎么设置_两台电脑共用键鼠的简单设置

    两台windows 电脑共享一套键鼠:一个软件就能搞定~ 一句话解决问题: (同一网络条件下)下一个软件 "无界鼠标" 英文名 Mouse without Borders 然后跟着 ...

  7. 一套键鼠操控多台电脑--Mouse Without Borders 设置教程(转载)

    这篇文字是转载的,地址一套键鼠操控多台电脑–Mouse Without Borders 设置教程 一套键鼠控多机+文件秒传 微软神器<Mouse Without Borders>实战 你或 ...

  8. 一套键鼠操控多台主机/电脑/笔记本 - 《Mouse Without Borders》安装配置教程

    1. 一套键鼠控多机+文件秒传 2. 背景 3. MWB介绍 4. 下载安装 5. 配置本机 6. 配置其他机器 7. 小贴士:安全码验证有技巧 8. 小贴士:文件传输的特别说明 补充 1. 一套键鼠 ...

  9. 手机显示器云服务器,不想买台式机,手机加显示器组成云电脑是否可行?

    "极客谈科技",全新视角.全新思路,伴您遨游神奇的科技世界. "云"可能是当下最为流行的一种技术,通过大量分布式计算机共同构成的云服务器,可供手机.平板.电脑. ...

  10. Barrier多计算机共享键鼠详细教程(可跨平台)+使用感受

    满足需求 如果你希望仅用一套键鼠控制两台及以上的电脑,那么这款免费开源的工具Barrier你一定不能错过!可以在Windows.macOS和Linux之间共享同一套鼠标和键盘,不仅让你摆脱在不同键鼠间 ...

最新文章

  1. 35岁之后,你还会继续写代码吗?
  2. 博士论文:教你如何给女朋友送礼物
  3. Java IO: 文件
  4. 3-8 基于SpringBoot连接数据库与配置MyBatis实操 创建表sql
  5. uctools.php,discuz 论坛UCenter无法登录,闪退的终极8种解决办法
  6. Python:以鸢尾花数据为例,介绍决策树算法
  7. 如何在README中使用图片
  8. 移动端性能优化系列—启动速度
  9. 用 Excel+VBA 与 SQL Server 数据库交互
  10. WITH ROLLUP、WITH CUBE、GROUPING语句的应用
  11. 技术提升为管理,最重要的能力是什么?
  12. 尼尔机械纪元 机器人博士_还记得章鱼博士吊打蜘蛛侠的炫酷机械臂吗?现实版已经研发出来了...
  13. 医疗器械公司规章制度范本
  14. Stata-交乘项专题: 主效应项可以忽略吗?
  15. word中统一修改mathtype公式和大小对应
  16. scratch二级考纲
  17. 杰理之VM 概述【篇】
  18. Markdown 图片自动上传
  19. 一步步实现Android MQTT详细步骤,附工程文件
  20. java调jacob包实现系统语音

热门文章

  1. 百度生成短链接(Get请求方式)
  2. Android 实现扫一扫功能
  3. 初学者如何学习好嵌入式开发?讲解嵌入式学习教程
  4. matlab 拉斯,魏尔斯特拉斯函数
  5. 2022-7-22 最新IOS免越狱 无需USB连接 无需硬件常驻 可云控 适应大批量设备
  6. linux中匹配邮箱地址,Python正则匹配邮箱和电话号码
  7. 如何查看当前计算机硬盘状态,win7系统下如何查看硬盘状态
  8. mysql数据库用户名修改密码_如何修改mysql数据库中的用户名和密码
  9. python输入用户名和密码_验证Python中的用户名和密码输入
  10. c语言打印三角形//洛谷