树莓派+装ubuntu系统+远程控制(备份自用未完待续)

树莓派+装ubuntu系统+远程控制(备份自用未完待续)_第1张图片

画师:Junc

WordPress的博客最近不知道为什么打开异常的慢,正好也从学校回到家了,玩一下树莓派,顺便把之前写的记录搬运过来做个备份,我记得这些工具我之前都下过但是忘了放到哪个U盘里了…

1.从树莓派官网下载ubuntu镜像

此处我使用的是ubuntu MATE16.04.2 (Xenial) ubuntu-mate官网下载地址

2.使用win32diskimager把IOS镜像写入SD卡

win32diskimager 下载地址

树莓派+装ubuntu系统+远程控制(备份自用未完待续)_第2张图片

3.将SD卡插入树莓派,使用网线连接到路由器上,打开电源供电

4.查看路由器分配给树莓派的IP,使用PUTTY登陆树莓派

Putty下载

在浏览器输入192.168.1.1 登陆账号 例如我的树莓派内网IP为192.168.1.3

关于SSH连接的问题:ubuntu MATE16.04.2 官方给出了这样一句话

Since Ubuntu MATE 16.04.2 the OpenSSH server is disabled by default.
If you want to enable SSH you can use raspi-config to created a file
call ssh in to /boot paritition and reboot.

When you enable SSH via either method explained above sshguard will
also be enabled.

也就是说SSH默认是关闭的,如果要开启的话需要在/boot 目录下建立一个文件名为SSH的文件,官方也说明了打开SSH链接的同时,SSH防火墙也同时打开,但是我建了之后还是timeout没办法我只好google,解决方法在下面。

5.ubuntu mate开启ssh

树莓派安装完ubuntu mate后,需要开启远程登录

  1. 打开终端
  2. sudo raspi-config
  3. 进入interfacing options
  4. 选则p2 ssh回车
  5. 选择yes回车
  6. 等待完成回车确认
  7. 退出配置,ps -e | grep ssh 看到sshd即开启

接着开启root用户登录

  1. 更改root用户密码,命令:sudo passwd root
  2. sudo vi /etc/ssh/sshd_config
  3. 找到 “PermitRootLogin without-password” 或者 “PermitRootLogin prohibit-password”
  4. 修改成 “PermitRootLogin yes”
  5. 重启SSH服务 sudo service ssh restart

通过ifconfig查看本地ip,试着远程登录

但是现在连接上去还是命令行界面,除了SSH连接,还有VNC连接可以用图形界面控制树莓派,如下所示

6.VNC连接图形界面树莓派

1.安装tightvnc

 sudo apt-get install tightvncserver

2.设置密码,注意密码限制位数最多8位

vncpasswd

在只读密码页面选择N

Would you like to enter a view-only password (y/n)? n

3.开机自启动

sudo pluma /etc/init.d/tightvncserver
#!/bin/sh
### BEGIN INIT INFO
# Provides:          tightvncserver
# Required-Start:    $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start/stop tightvncserver
### END INIT INFO
#/etc/init.d/tightvncserver
### Customize this entry
# 把这里的用户名改成你的用户名
export USER='pi'
### End customization required
 
eval cd ~$USER
 
case "$1" in
  start)
    # 启动命令行。此处自定义分辨率、控制台号码或其它参数。
    su $USER -c '/usr/bin/tightvncserver -depth 16 -geometry 960x600 :1'
    echo "Starting TightVNC server for $USER "
    ;;
  stop)
    # 终止命令行。此处控制台号码与启动一致。
    su $USER -c '/usr/bin/tightvncserver -kill :1'
    echo "Tightvncserver stopped"
    ;;
  *)
    echo "Usage: /etc/init.d/tightvncserver {start|stop}"
    exit 1
    ;;
esac
exit 0

将USER='pi’改为你的用户名,默认为pi,修改保存
4.设置文件权限,更新开机自启动列表

sudo chmod 777 /etc/init.d/tightvncserver
sudo update-rc.d tightvncserver defaults

而后重启

sudo reboot

查看运行状态

sudo service tightvncserver status

2.运行tightvnc

 tightvncserver

3.关闭VNC服务的命令为

# ps aux | grep vnc
root     14031  0.0  0.3  14904  6448 ?        S    12月12   0:00 Xtightvnc :1
root     16565  0.0  0.2   8164  4952 ?        S    12月12   0:00 Xtightvnc :2

# vncserver -kill :1
Killing Xtightvnc process ID 14031

# vncserver -kill :2
Killing Xtightvnc process ID 16565

输入密码得到以下命令

New ‘X’ desktop is xxxxx-desktop:1

Creating default startup script /home/xxxxx/.vnc/xstartup Starting
applications specified in /home/xxxxx/.vnc/xstartup Log file is
/home/xxxxx/.vnc/molers-desktop:1.log

3.在电脑上下载VNC viewer 下载链接

4.输入ip:1 注意端口为1,例如我的是192.168.1.3:1,成功界面如下所示
树莓派+装ubuntu系统+远程控制(备份自用未完待续)_第3张图片

6.1 补充另外一种方法:仅限于Win10系统 远程桌面连接

用Windows10自带的xrdp进行远程链接.:

首先在树莓派中安装xrdp:

sudo apt-get install xrdp

而后将树莓派和电脑接入同一wifi等局域网络,

直接通过windows的网络,我们可以找到同在局域网下的树莓派主机,名字就是你的用户名选中树莓派主机,点击使用远程桌面连接进行连接,如下图:

树莓派+装ubuntu系统+远程控制(备份自用未完待续)_第4张图片
进入连接界面,选择vnc-any.输入默认的ip 127.0.1.1,再改一下端口号5901,再输入之前设置的vnc密码,即可连接,如下图设置
树莓派+装ubuntu系统+远程控制(备份自用未完待续)_第5张图片
结果如图:
树莓派+装ubuntu系统+远程控制(备份自用未完待续)_第6张图片

6.2 安装teamviewer实时控制桌面

# apt-cache search teamviewer
teamviewer - Remote control and meeting solution

# apt-get install -y teamviewer 

额外补充:因为我是直接网线连接的,不需要wifi,这里也把wifi的命令行配置也写一下

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

在最后加上

network={

ssid=“你家的wifi账号,比如我家的是FAST_D924”

psk=“你家的wifi密码” }保存退出

sudo shutdown -h now 树莓派关机

7.固定静态IP

这个Wifi登陆可能需要,我先略过

8.设置 tight VNC Server 为开机启动(此处失败之后再说)

8.1通过ubuntu16.04系统中自带开机脚本/etc/rc.local添加启动项,没有修改之前里面内容如下。

#!/bin/sh -e

#

# rc.local

#

# This script is executed at the end of each multiuser runlevel.

# Make sure that the script will "exit 0" on success or any other

# value on error.

#

# In order to enable or disable this script just change the execution

# bits.

#

# By default this script does nothing.

exit 0

把开机要执行的命令放到 exit0 前面,里面可以直接写命令或者执行Shell脚本文件sh。

8.2 自己写开机启动脚本,把脚本放置到启动目录/etc/init.d/下

参考链接:

树莓派安装VNC和设置VNC开机自启动

Raspberry Pi 2 折腾记开始

sudo nano /etc/init.d/tightvncserver

把下列粘贴进去,

#!/bin/sh


### BEGIN INIT INFO

# Provides: tightvncserver

# Required-Start: $syslog $remote_fs $network
# Required-Stop: $syslog $remote_fs $network

# Default-Start: 2 3 4 5

# Default-Stop: 0 1 6

# Short-Description: Start/stop tightvncserver

### END INIT INFO

# /etc/init.d/tightvncserver

VNCUSER=’pi’

case "$1" in

start)

# 启动命令行。此处自定义分辨率、控制台号码或其它参数。

su $VNCUSER -c ’/usr/bin/tightvncserver:1’

echo "Starting TightVNC server for $VNCUSER "

;;

stop)

# 终止命令行。此处控制台号码与启动一致。

su $VNCUSER -c ’/usr/bin/tightvncserver -kill :1’

echo "Tightvncserver stopped"

;;

*)

echo "Usage: /etc/init.d/tightvncserver {start|stop}exit 1

;;

esac

exit 0

上述脚本的一些解释链接

linux init.d脚本的解释

How to LSBize an Init Script

【pi】开机启动脚本

$local_fs

然后运行:

sudo chmod 755 /etc/init.d/tightvncserver

sudo update-rc.d tightvncserver defaults

解释一下权限的分配chmod(change mode)

语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

r=4,w=2,x=1 若要rwx属性则4+2+1=7; 若要rw-属性则4+2=6; 若要r-x属性则4+1=5。 chmod a=rwx
file和chmod 777 file效果相同 chmod ug=rwx,o=x file和chmod 771 file效果相同

接着重新启动VNC

service vncserver restart

取消开机启动

sudo update-rc.d -f tightvncserver remove

VNC相关操作

1、停止VNC窗口:

vncserver -kill:1

2、修改密码

vncpasswd

3、重启服务

service vncserver restart

9.一些好的网站推荐

1.ubuntu中国官网

2.树莓派实验室

3.ubuntu中文wiki

4.自用查阅文档网站

Ubuntu MATE 16.04 running on the Raspberry Pi 文档

10.视频参考

他这个视频除了画质不好 其他都是干货,吐槽一下为什么这个作者为什么就是不能学一下剪辑…

b站杨坤树莓派爱好者基地

视频链接

你可能感兴趣的:(树莓派)