Closed youngjuning closed 4 years ago
将 sd 卡 插到树莓派,连上显示器。开机后看到以下页面,就可以开启初始化配置
如图,开启 SSH 和 VNC
RealVNC、RealVNC Viewer 下载链接见工具,前者是服务端,是被连接的,后者是客户端,是主动连接的。
RealVNC
第一次打开请选择 Home subscription(strictly non-commercial use only)
RealVNC Viwer
运行 RealVNC Viewer 之后输入树莓派的 IP 地址,通过 ifconfig 命令可以查看。选择连接之后输入树莓派的登录用户名密码,初始用户名 pi
,密码为 raspberry
。确认之后即可进入树莓派的远程桌面!
提示:如果你没有显示器,你就需要登录路由器进行查看树莓派的IP地址,或者在电脑里面扫描局域网中的设备,找到树莓派的IP地址,然后进行SSH连接。
Windows里面需要下载软件,可使用zoc软件(或者Putty)。
注意:初始用户名
pi
,密码为raspberry
config.txt
中默认设置在大部分的硬件系统下都能很好地工作,但是视频输出常常出现问题。这个问题产生的主要原因是过扫描(overscan
)和欠扫描,尤其是在使用复合视频输出的时候。比如树莓派的debian系统中是自动扫描显示器的,很多都不会满屏显示,这样的话就需要手动设置了,但是在进入系统后是没法设置的。
需要通过配置文件(config.txt
)实现。
打开 config.txt
$ nano /config.txt
#去掉下面的注释符来调整overscan(过扫描)。
#如果控制台跑出屏幕,请使用正数。
#如果镶边太大,请使用负数。
overscan_left=10
overscan_right=10
overscan_top=0
overscan_bottom=0
hdmi_group
有两个模式:CEA(电视规格分辨率)、DMT(计算机显示器分辨率)hdmi_mode
对应的是具体想要调整的分辨率(具体见附录)hdmi_ignore_edid
命令树莓派不检测HDMI设备的任何信息,只按照我们指定的分辨率输出。如果不加,树莓派可能仍会“自作聪明”的检测HDMI设备的分辨率,结果造成我们设置的分辨率无效。康佳led32IS97N!
# uncomment to force a specific HDMI mode (here we are forcing 1366*768(DMT) for 康佳led32IS97N!)
hdmi_group=2
hdmi_mode=86
hdmi_ignore_edid=0xa5000080
1080p
# uncomment to force a specific HDMI mode (this will force 1080p)
hdmi_group=2 # DMT分辨率
hdmi_mode=82 # 1080p
hdmi_ignore_edid=0xa5000080 # 不检测HDMI设备的任何信息
以下是CEA规定的电视规格分辨率。这些分辨率的 hdmi_group=1
。
hdmi_mode=1 VGA
hdmi_mode=2 480p 60Hz
hdmi_mode=3 480p 60Hz H
hdmi_mode=4 720p 60Hz
hdmi_mode=5 1080i 60Hz
hdmi_mode=6 480i 60Hz
hdmi_mode=7 480i 60Hz H
hdmi_mode=8 240p 60Hz
hdmi_mode=9 240p 60Hz H
hdmi_mode=10 480i 60Hz 4x
hdmi_mode=11 480i 60Hz 4x H
hdmi_mode=12 240p 60Hz 4x
hdmi_mode=13 240p 60Hz 4x H
hdmi_mode=14 480p 60Hz 2x
hdmi_mode=15 480p 60Hz 2x H
hdmi_mode=16 1080p 60Hz
hdmi_mode=17 576p 50Hz
hdmi_mode=18 576p 50Hz H
hdmi_mode=19 720p 50Hz
hdmi_mode=20 1080i 50Hz
hdmi_mode=21 576i 50Hz
hdmi_mode=22 576i 50Hz H
hdmi_mode=23 288p 50Hz
hdmi_mode=24 288p 50Hz H
hdmi_mode=25 576i 50Hz 4x
hdmi_mode=26 576i 50Hz 4x H
hdmi_mode=27 288p 50Hz 4x
hdmi_mode=28 288p 50Hz 4x H
hdmi_mode=29 576p 50Hz 2x
hdmi_mode=30 576p 50Hz 2x H
hdmi_mode=31 1080p 50Hz
hdmi_mode=32 1080p 24Hz
hdmi_mode=33 1080p 25Hz
hdmi_mode=34 1080p 30Hz
hdmi_mode=35 480p 60Hz 4x
hdmi_mode=36 480p 60Hz 4xH
hdmi_mode=37 576p 50Hz 4x
hdmi_mode=38 576p 50Hz 4x H
hdmi_mode=39 1080i 50Hz reduced blanking
hdmi_mode=40 1080i 100Hz
hdmi_mode=41 720p 100Hz
hdmi_mode=42 576p 100Hz
hdmi_mode=43 576p 100Hz H
hdmi_mode=44 576i 100Hz
hdmi_mode=45 576i 100Hz H
hdmi_mode=46 1080i 120Hz
hdmi_mode=47 720p 120Hz
hdmi_mode=48 480p 120Hz
hdmi_mode=49 480p 120Hz H
hdmi_mode=50 480i 120Hz
hdmi_mode=51 480i 120Hz H
hdmi_mode=52 576p 200Hz
hdmi_mode=53 576p 200Hz H
hdmi_mode=54 576i 200Hz
hdmi_mode=55 576i 200Hz H
hdmi_mode=56 480p 240Hz
hdmi_mode=57 480p 240Hz H
hdmi_mode=58 480i 240Hz
hdmi_mode=59 480i 240Hz H
以下是计算机显示器使用的分辨率。这些分辨率的 hdmi_group=2
。
hdmi_mode=1 640x350 85Hz
hdmi_mode=2 640x400 85Hz
hdmi_mode=3 720x400 85Hz
hdmi_mode=4 640x480 60Hz
hdmi_mode=5 640x480 72Hz
hdmi_mode=6 640x480 75Hz
hdmi_mode=7 640x480 85Hz
hdmi_mode=8 800x600 56Hz
hdmi_mode=9 800x600 60Hz
hdmi_mode=10 800x600 72Hz
hdmi_mode=11 800x600 75Hz
hdmi_mode=12 800x600 85Hz
hdmi_mode=13 800x600 120Hz
hdmi_mode=14 848x480 60Hz
hdmi_mode=15 1024x768 43Hz DO NOT USE
hdmi_mode=16 1024x768 60Hz
hdmi_mode=17 1024x768 70Hz
hdmi_mode=18 1024x768 75Hz
hdmi_mode=19 1024x768 85Hz
hdmi_mode=20 1024x768 120Hz
hdmi_mode=21 1152x864 75Hz
hdmi_mode=22 1280x768 reduced blanking
hdmi_mode=23 1280x768 60Hz
hdmi_mode=24 1280x768 75Hz
hdmi_mode=25 1280x768 85Hz
hdmi_mode=26 1280x768 120Hz reduced blanking
hdmi_mode=27 1280x800 reduced blanking
hdmi_mode=28 1280x800 60Hz
hdmi_mode=29 1280x800 75Hz
hdmi_mode=30 1280x800 85Hz
hdmi_mode=31 1280x800 120Hz reduced blanking
hdmi_mode=32 1280x960 60Hz
hdmi_mode=33 1280x960 85Hz
hdmi_mode=34 1280x960 120Hz reduced blanking
hdmi_mode=35 1280x1024 60Hz
hdmi_mode=36 1280x1024 75Hz
hdmi_mode=37 1280x1024 85Hz
hdmi_mode=38 1280x1024 120Hz reduced blanking
hdmi_mode=39 1360x768 60Hz
hdmi_mode=40 1360x768 120Hz reduced blanking
hdmi_mode=41 1400x1050 reduced blanking
hdmi_mode=42 1400x1050 60Hz
hdmi_mode=43 1400x1050 75Hz
hdmi_mode=44 1400x1050 85Hz
hdmi_mode=45 1400x1050 120Hz reduced blanking
hdmi_mode=46 1440x900 reduced blanking
hdmi_mode=47 1440x900 60Hz
hdmi_mode=48 1440x900 75Hz
hdmi_mode=49 1440x900 85Hz
hdmi_mode=50 1440x900 120Hz reduced blanking
hdmi_mode=51 1600x1200 60Hz
hdmi_mode=52 1600x1200 65Hz
hdmi_mode=53 1600x1200 70Hz
hdmi_mode=54 1600x1200 75Hz
hdmi_mode=55 1600x1200 85Hz
hdmi_mode=56 1600x1200 120Hz reduced blanking
hdmi_mode=57 1680x1050 reduced blanking
hdmi_mode=58 1680x1050 60Hz
hdmi_mode=59 1680x1050 75Hz
hdmi_mode=60 1680x1050 85Hz
hdmi_mode=61 1680x1050 120Hz reduced blanking
hdmi_mode=62 1792x1344 60Hz
hdmi_mode=63 1792x1344 75Hz
hdmi_mode=64 1792x1344 120Hz reduced blanking
hdmi_mode=65 1856x1392 60Hz
hdmi_mode=66 1856x1392 75Hz
hdmi_mode=67 1856x1392 120Hz reduced blanking
hdmi_mode=68 1920x1200 reduced blanking
hdmi_mode=69 1920x1200 60Hz
hdmi_mode=70 1920x1200 75Hz
hdmi_mode=71 1920x1200 85Hz
hdmi_mode=72 1920x1200 120Hz reduced blanking
hdmi_mode=73 1920x1440 60Hz
hdmi_mode=74 1920x1440 75Hz
hdmi_mode=75 1920x1440 120Hz reduced blanking
hdmi_mode=76 2560x1600 reduced blanking
hdmi_mode=77 2560x1600 60Hz
hdmi_mode=78 2560x1600 75Hz
hdmi_mode=79 2560x1600 85Hz
hdmi_mode=80 2560x1600 120Hz reduced blanking
hdmi_mode=81 1366x768 60Hz
hdmi_mode=82 1080p 60Hz
hdmi_mode=83 1600x900 reduced blanking
hdmi_mode=84 2048x1152 reduced blanking
hdmi_mode=85 720p 60Hz
hdmi_mode=86 1366x768 reduced blanking
Raspberry pi 系统中的Raspbian默认用户是 pi
密码为 raspberry
。
树莓派使用的linux是debian系统,所以树莓派启用root和debian是相同的。debian里root账户默认没有密码,但账户锁定。当需要root权限时,由默认账户经由sudo执行。重新开启root账号,可由pi用户登录后,在命令行下执行:
$ sudo passwd root
$ sudo passwd --unlock root
cd /etc/apt/
sources.list
,删除所有信息,复制下面的代码进去保存:
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi
apt-get upgrade
、apt-get update
、apt-get dist-upgrade
安装字库
$ sudo apt-get install ttf-wqy-zenhei ttf-wqy-microhei
刷新字库缓存
$ sudo fc-cache
$ sudo apt-get install fcitx
$ sudo apt-get install fcitx-sunpinyin # sunpinyin
$ sudo apt-get install fcitx-libpinyin # 或libpinyin
$ sudo apt-get install fcitx-googlepinyin # 或googlepinyin
$ sudo apt-get install fcitx-module-cloudpinyin # 或cloudpinyin
执行下面的命令,系统将返回关于网卡的详细信息,比如协议、Mac地址、IP地址、IPv6地址等等信息。
$ sudo ifconfig
刚装好系统的树莓派,如果没有显示器是不可能直接能连上无线的。
这就没什么好说的了。在开始之前,请务必先开启路由器的DHCP功能。然后通过网线连接树莓派和路由器。
直接可视化连接即可,这里要配置的是静态ip
/etc/dhcpcd.conf
$ sudo nano /etc/dhcpcd.conf
dhcpcd.conf
后添加以下内容:
interface eth0
static ip_address=192.168.2.166/24
static routers=192.168.2.1
static domain_name_servers=202.102.152.3 114.114.114.114
如果你发现你的设备经常掉线,你可以十分容易的使用一个命令行来修复它(感谢perseus286!)
创建并编辑文件 /etc/modprobe.d/8192cu.conf
$ sudo nano /etc/modprobe.d/8192cu.conf
并且粘贴下列内容,然后使用 sudo reboot 进行重启。
# Disable power savingoptions 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1
$ sudo apt-get upgrade # 更新软件源,最后会读取软件包列表
$ sudo apt-get update # 更新软件
$ sudo apt-get dist-upgrade
sudo apt-cache search
sudo apt-get install
sudo apt-get remove
相当于 dos,由于大部分都可以可视化配置,甚至有些在初始化时已经配置,这里只配置
Expand Filesystem
$ raspi-config
是sshd
的设置不允许root
用户用密码远程登录
$ nano /etc/ssh/sshd_config 作如下修改:
- PermitRootLogin prohibit-password
+ PermitRootLogin yes
xftp
-> 文件
-> 属性
-> 选项
-> 使用UTF-8编码
xshell
-> 文件
-> 属性
-> 选项
-> 终端类型(linux)
->编码(Unicode(UTF-8))
最快捷
$ curl -sSL https://get.docker.com | sh
国内镜像【未测试】
$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun
// docker客户端
Client:
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:57:21 2018
OS/Arch: linux/arm
Experimental: false
// docker服务端 - 社区版
Server: Docker Engine - Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:17:57 2018
OS/Arch: linux/arm
Experimental: false
// 如果你不想用root账号使用 Docker,你应该把你的用户加入到 “docker” 分组中(安装过程中已经新建了docker分组)
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker your-user
// 记住你必须退出并重新登录才能生效
Remember that you will have to log out and back in for this to take effect!
// 警告:将用户添加到“docker”组将授予运行容器的能力,这些容器可用于获取docker主机上的root权限。
WARNING:
Adding a user to the "docker" group will grant the ability to run containers which can be used to obtain root privileges on the docker host.
// 参考资源
Refer to https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface for more information.
总结:
root
账号操作docker
,就在 "docker" 分组下添加user(重启后生效)安装docker-compose
使用Docker的准时轻量级开发环境
$ apt-get install docker-compose
默认情况下,docker
命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root
用户和 docker
组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root
用户。因此,更好地做法是将需要使用 docker
的用户加入 docker
用户组。
$ sudo usermod -aG docker $USER // 一般是 pi
# 如果没有该分组就新建 sudo groupadd docker
退出当前终端并重新登录
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ docker run arm32v7/hello-world
执行以上命令,若能正常输出以下信息,则说明安装成功。
Unable to find image 'arm32v7/hello-world:latest' locally
latest: Pulling from arm32v7/hello-world
ad0f38092cf2: Pull complete
Digest: sha256:f1ee3cbf1dbeab65f6b542360aca910ce1f6ba0ff31c803fdf08a13f5f846249
Status: Downloaded newer image for arm32v7/hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(arm32v7)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
To try something more ambitious, you can run an Ubuntu container with:
$ docker run -it ubuntu bash
Share images, automate workflows, and more with a free Docker ID:
https://hub.docker.com/
For more examples and ideas, visit:
https://docs.docker.com/engine/userguide/
请在 /etc/docker/daemon.json
中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
之后重新启动服务。
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info
,如果从结果中看到了如下内容,说明配置成功。
Registry Mirrors:
https://registry.docker-cn.com/
Portainer
在Docker
引擎或Swarm
集群上作为轻量级Docker
容器(Docker
映像权重小于4MB)运行。因此,在使用Docker
的任何计算机上运行容器都是一个命令。
使用以下Docker命令部署Portainer:
$ docker volume create portainer_data
$ docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
您只需要使用浏览器访问运行portainer
的Docker
引擎的端口9000
。
注意:该-v /var/run/docker.sock:/var/run/docker.sock
选项只能在Linux环境中使用。
一、安装系统
1. 下载系统镜像
可以直接点击 raspbian_full_latest.torrent 获取最新版的torrent,然后使用迅雷新建bt任务。ps:官网下载速度太慢!!!请一定使用迅雷!!!
2. 格式化SD卡
推荐使用 SDFormatter 格式化 SD卡,下载链接参见 工具
3. 刻录系统
windows
推荐使用 Win32DiskImager 格式化 SD卡,下载链接参见 工具
非windows
Etcher是一种图形化SD卡写入工具,适用于Mac OS,Linux和Windows,是大多数用户最简单的选择。Etcher还支持直接从zip文件中写入图像,无需任何解压缩。用Etcher写你的图像:
.img
或.zip
文件。Flash!
开始将数据写入SD卡。