点击(此处)折叠或打开
- 
				sudo apt-get remove -y ufw libreoffice-* deja-dup webbrowser-app cheese gnome-mahjongg gnome-mines aisleriot rhythmbox* totem imagemagick* simple-scan eog \
 
- 
				gnome-sudoku rhythmbox shotwell thunderbird evince transmission-gtk onboard remmina gnome-calendar xterm checkbox-*
 
- 
				
 
- 
				***************************************************************************************************
 
- 
				***************************************************************************************************
 
- 
				***************************************************************************************************
 
- 
				//替换为 cn99 的更新源。
 
- 
				sudo apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zip
 
- 
				sudo apt-get install flex curl libncurses5-dev libssl-dev zlib1g-dev gawk minicom
 
- 
				sudo apt-get install openjdk-8-jdk
 
- 
				sudo apt-get install exfat-fuse exfat-utils device-tree-compiler liblz4-tool
 
- 
				sudo apt-get install openssh-server vim
 
- 
				
 
- 
				***************************************************************************************************
 
- 
				***************************************************************************************************
 
- 
				***************************************************************************************************
 
- 
				16.04 的 compiz 很费内存和CPU, 使用另外一种登录界面。
 
- 
				sudo apt-get install gnome-session-flashback
 
- 
				然后使用 GNOME Flashback(Metacity)选项登录。
 
- 
				
 
- 
				***************************************************************************************************
 
- 
				***************************************************************************************************
 
- 
				***************************************************************************************************
 
- 
				
 
- 
				//查看虚拟内存 SWAP
 
- 
				 输入命令
 
- 
				     free -mh
 
- 
				    发现swap剩余空间确实很小了。
 
- 
				
 
- 
				     增大swap空间:
 
- 
				       dd if=/dev/zero of=/var/swap bs=1024 count=4096000
 
- 
				       mkswap /var/swap
 
- 
				       swapon /var/swap
 
- 
				       free -mh
 
- 
				***************************************************************************************************
 
- 
				***************************************************************************************************
 
- ***************************************************************************************************
16.04 的 compiz 很费内存和CPU.
sudo apt-get install gnome-session-flashback
重新登录系统,在用户名的右侧,有个按钮,选择 GNOME Flashback(Metacity)选项, 之后的界面就不再有 3D 效果了.
直接删除是不行的,因为这个是跟桌面管理器unity集成在一起的,直接删除命令为:
|  | 
								sudo apt-get autoremove compiz compiz-gnome compiz-core compiz-plugins-default
							 | 
----------------------------------------------------------------------------------------------------------------------
低格Joule.
使用U盘版, Try Ubuntu, 打开 Shell, 执行 sudo dd of=/dev/mmcblk0 if=/dev/zero bs=32M
然后重启, 进行 Install Ubuntu
安装完毕. 进行提供整理.
sudo apt-get remove -y ufw libreoffice-* deja-dup webbrowser-app cheese gnome-mahjongg gnome-mines gnome-sudoku rhythmbox shotwell thunderbird evince transmission-gtk
修改默认窗口大小, 默认 640x480太小了. 远程登录显示空间不足.
新建 /etc/X11/xorg.conf
- 
								Section "Monitor"
 
- 
								Identifier "Configured Monitor"
 
- 
								Modeline "1280x1024_60.00" 109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
 
- 
								Option "PreferredMode" "1280x1024_60.00"
 
- 
								EndSection
 
- 
								
 
- 
								Section "Screen"
 
- 
								Identifier "Default Screen"
 
- 
								Monitor "Configured Monitor"
 
- 
								Device "Configured Video Device"
 
- 
								EndSection
 
- 
								
 
- 
								Section "Device"
 
- 
								Identifier "Configured Video Device"
 
- EndSection
sudo apt-get autoremove --purge
然后设置桌面VNC共享.
1. 使用文本界面.
参考 https://blog.csdn.net/davidhopper/article/details/79288573
点击(此处)折叠或打开
- 
									sudo vi /etc/default/grub
 
- 
									将此行用“#”注释:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash";
 
- 
									将GRUB_CMDLINE_LINUX="" 修改为:GRUB_CMDLINE_LINUX="代写论文、pos";
 
- 
									将#GRUB_TERMINAL=console前的“#”号去除,即反注释该行。
 
- 
									
 
- 
									sudo update-grub
 
- 
									sudo systemctl set-default multi-user.target
 
- shutdown -r now
参考
方式一:
把 /etc/rc.local 的 #/bin/sh -e 改为 #/bin/bash
添加内容为
点击(此处)折叠或打开
- 
									#!/bin/bash
 
- 
									
 
- 
									ifconfig wlp1s0 up &&  wpa_supplicant -B -Dnl80211 -iwlp1s0 -c/etc/wpa_supplicant/wpa.conf && dhclient wlp1s0 
 
- 
									exit 0
 
- 
									
 
- 其中wpa.conf 文件内容.
- 
									#cat /etc/wpa_supplicant/wpa.conf 
 
- 
									ctrl_interface=/var/run/wpa_supplicant
 
- 
									update_config=1
 
- 
									
 
- 
									network={
 
- 
									    ssid="SEC"
 
- 
									    psk="sec12345"
 
- }
点击(此处)折叠或打开
- 
									update-rc.d增加开机启动服务
 
- 
									
 
- 
									给Ubuntu添加一个开机启动脚本,操作如下:
 
- 
									
 
- 
									1、新建个脚本文件new_service.sh
 
- 
									
 
- 
									#!/bin/bash
 
- 
									# command content
 
- 
									  
 
- 
									exit 0
 
- 
									2、设置权限
 
- 
									
 
- 
									sudo chmod 755 new_service.sh
 
- 
									#或者
 
- 
									sudo chmod +x new_service.sh
 
- 
									3、把脚本放置到启动目录下
 
- 
									
 
- 
									sudo mv new_service.sh /etc/init.d/
 
- 
									4、将脚本添加到启动脚本
 
- 
									
 
- 
									执行如下指令,在这里90表明一个优先级,越高表示执行的越晚
 
- 
									
 
- 
									cd /etc/init.d/
 
- 
									sudo update-rc.d new_service.sh defaults 90
 
- 
									5、移除Ubuntu开机脚本
 
- 
									
 
- 
									sudo update-rc.d -f new_service.sh remove
 
- 
									6、通过sysv-rc-conf来管理上面启动服务的启动级别等,还是开机不启动
 
- 
									
 
- 
									sudo sysv-rc-conf 
 
- 
									7、update-rc.d的详细参数
 
- 
									
 
- 
									使用update-rc.d命令需要指定脚本名称和一些参数,它的格式看起来是这样的(需要在 root 权限下):
 
- 
									
 
- 
									update-rc.d [-n] [-f] <basename> remove
 
- 
									update-rc.d [-n] <basename> defaults
 
- 
									update-rc.d [-n] <basename> disable|enable [S|2|3|4|5]
 
- 
									update-rc.d <basename> start|stop <NN> <runlevels>
 
- 
									-n: not really
 
- 
									-f: force
 
- 
									其中:
 
- 
									
 
- 
									disable|enable:代表脚本还在/etc/init.d中,并设置当前状态是手动启动还是自动启动。
 
- 
									start|stop:代表脚本还在/etc/init.d中,开机,并设置当前状态是开始运行还是停止运行。(启用后可配置开始运行与否)
 
- 
									NN:是一个决定启动顺序的两位数字值。(例如90大于80,因此80对应的脚本先启动或先停止)
 
- 
									runlevels:则指定了运行级别。
 
- 
									实例:
 
- 
									
 
- 
									(1)、添加一个新的启动脚本sample_init_script,并且指定为默认启动顺序、默认运行级别(还记得前面说的吗,首先要有实际的文件存在于/etc/init.d,即若文件/etc/init.d/sample_init_script不存在,则该命令不会执行):
 
- 
									
 
- 
									update-rc.d sample_init_script defaults
 
- 
									上一条命令等效于(中间是一个英文句点符号):
 
- 
									
 
- 
									update-rc.d sample_init_script start 20 2 3 4 5 . stop 20 0 1 6
 
- 
									(2)、安装一个启动脚本sample_init_script,指定默认运行级别,但启动顺序为50:
 
- 
									
 
- 
									update-rc.d sample_init_script defaults 50
 
- 
									(3)、安装两个启动脚本A、B,让A先于B启动,后于B停止:
 
- 
									
 
- 
									update-rc.d A 10 40
 
- 
									update-rc.d B 20 30
 
- 
									(4)、删除一个启动脚本sample_init_script,如果脚本不存在则直接跳过:
 
- 
									
 
- 
									update-rc.d -f sample_init_script remove
 
- 
									这一条命令实际上做的就是一一删除所有位于/etc/rcX.d目录下指向/etc/init.d中sample_init_script的链接(可能存在多个链接文件),update-rc.d只不过简化了这一步骤。
 
- 
									
 
- 
									(5)禁止Apache/MySQL相关组件开机自启:
 
- 
									
 
- 
									update-rc.d -f apache2 remove
 
- 
									update-rc.d -f mysql remove
 
- 
									8、服务的启动停止状态
 
- 
									
 
- 
									#通过service,比如
 
- 
									sudo service xxx status
 
- 
									sudo service xxx start
 
- 
									sudo service xxx stop
 
- 
									sudo service xxx restart
 
- 
									9、查看全部服务列表
 
- 
									
 
- sudo service --status-all
点击(此处)折叠或打开
- sudo apt-get remove -y cups-browsed unattended-upgrades cups modemmanager pulseaudio
4. 添加USB 声卡
点击(此处)折叠或打开
- 安装 sudo apt-get install sox libsox-fmt-all, 用 sudo play 命令播放mp3.
- 
									/*
 参数 repeat 次数.
 
 * play 1.mp3 trim 00:50 从 00分50秒开始播放.
 play 1.mp3 trim 00:50 =00:53 从 00分50秒开始播放, 53秒结束.
 play 1.mp3 trim 00:50 =00:53 -00:10 从 00分50秒开始播放, 53秒结束. 结束后再播放整个文件的最后的10秒内容.
 
 
 最后播放的内容
 In:99.9% 00:01:35.35 [00:00:00.05] Out:622k [ | ] Clip:0
 通过截取 第 10 -17 获得当前播放的时间刻度, 以便于后续继续播放.
 插播其他的音乐内容 pidof play | xargs kill -9 可以实现.
 
 
 如果要实现插播, 应该要使用线程实现了.
 主线: 播放主线音乐, 检测是否有副线语音, 有则记录当前的播放刻度, 杀掉后台Play, 然后播放副线语音, 完毕后从对应的主线音乐刻度点上继续播放.
 */
 
5. 提高网络稳定性
点击(此处)折叠或打开
- 
									wlp1s0 不够稳定, 在SSH/SMB时经常处于忙状态.
 
- 
									        禁用IPV6:
 
- 
									            vim /etc/sysctl.conf 加入 
 
- 
									                net.ipv6.conf.all.disable_ipv6 = 1
 
- 
									                net.ipv6.conf.default.disable_ipv6 = 1
 
- 
									                net.ipv6.conf.lo.disable_ipv6 = 1
 
- 
									            执行 sudo sysctl -p
 
- 检查 cat /proc/sys/net/ipv6/conf/all/disable_ipv6 返回为 1
另外一种, 关闭无线网卡的电源管理
sudo vim /etc/network/interfaces
添加 wireless-power off 放在 auto wlan0 前面
/etc/init.d/networking restart
确认 iwconfig 显示 Power Management:off
点击(此处)折叠或打开
- 自行添加
- 
									cat /etc/udev/rules.d/
 
- 
									95-oem-hotkey-osd.rules    99-realsense-libusb.rules  ros-common.rules           rplidar.rules 
 
- 
									ray@Joule:~$ cat /etc/udev/rules.d/ros-common.rules 
 
- 
									# set the udev rule , make the device_port be fixed by rplidar
 
- 
									#
 
- 
									KERNEL=="ttyUSB*", MODE:="0777"
 
- 
									KERNEL=="ttyACM*", MODE:="0777"  # 底盘 stm32 对应的 VCP
 
- SUBSYSTEMS=="input", MODE:="0666", KERNEL=="event*" #遥控器,蓝牙键盘等等
点击(此处)折叠或打开
- 
									remap激光雷达, , 在 rplidar 的ROS数据包内执行响应的脚本
 
- 
									cat /etc/udev/rules.d/rplidar.rules 
 
- 
									# set the udev rule , make the device_port be fixed by rplidar
 
- 
									#
 
- KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar"
点击(此处)折叠或打开
- 
									intel realsense安装的内容, 在 realsense的ROS数据包内执行响应的脚本
 
- 
									cat /etc/udev/rules.d/99-realsense-libusb.rules 
 
- 
									# RealSense UVC cameras (R200, F200, SR300 LR200, ZR300)
 
- 
									SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0a80", MODE:="0666", GROUP:="plugdev", RUN+="/usr/bin/usb-R200-in_udev"
 
- 
									SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0a66", MODE:="0666", GROUP:="plugdev"
 
- 
									SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0aa5", MODE:="0666", GROUP:="plugdev"
 
- 
									SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0abf", MODE:="0666", GROUP:="plugdev"
 
- 
									SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0acb", MODE:="0666", GROUP:="plugdev"
 
- 
									SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="0ad0", MODE:="0666", GROUP:="plugdev"
 
- SUBSYSTEMS=="usb", ATTRS{idVendor}=="8086", ATTRS{idProduct}=="04b4", MODE:="0666", GROUP:="plugdev"
ubuntu openssh 连接自动断开问题
https://blog.csdn.net/cheligeer1988/article/details/10539293点击(此处)折叠或打开
- 
										SSH server
 
- 
										If you have administrator access to the server, you can configure the ClientAliveInterval, TCPKeepAlive and ClientAliveCountMax options in the SSHd configuration file. If you're running Ubuntu / Debian, the file's path is /etc/ssh/sshd_config
 
- 
										
 
- 
										ClientAliveInterval 30
 
- 
										TCPKeepAlive yes 
 
- 
										ClientAliveCountMax 1000
 
- 
										You will need to restart the SSH server for the changes to take effect.
 
- 
										
 
- sudo /etc/init.d/sshd restart
