MacBook Air(2017)安装 openSUSE leap 15.0 后的初始化设置(Shell 脚本)

###########请先阅读以下部分###########
#这个脚本的作用是简化安装好 openSUSE 后第一次设置,它既是一个脚本也是一个教程
#这个脚本的使用环境是在 MacBook Air(2017) 上安装 openSUSE操作系统,如果要用于其他环境,请按照自己环境的实际情况进行修改
#这个脚本分为四个部分:前期准备的部分、自动配置的部分、需要手动操作的部分、可能出现的报错和解决方法,清依次按照这个顺序进行操作,其中自动配置的部分可以通过执行此脚本实现,无需手动一步步操作
#在执行此脚本之前请先全文阅读,如果有不需要的部分可以自行将其注释掉

#执行完此脚本能够完成以下工作:
#1.修改命令终端下的主机名称
#2.实现中文输入法(如果是中文安装则不需要此步骤,本脚本默认取消)
#3.解决无线网卡无法上网的问题
#4.安装 KVM 虚拟机
#5. 安装 docker 容器
#6.安装 flash 实现网页播放视频
#7.限制处理器频率防止其温度过高(本脚本默认取消)
#8.实现科学上网(需要你提前搭建好服务端的 shadowsocks)
#9.安装温度查看软件(用于以后写温度报警脚本)
#10.安装支持 exfat 格式的软件
#11.更新全部系统补丁
#12.安装 pycharm
#13.让用户账号在执行某些命令时具有管理员权限

###########前期准备的部分###########
#开始执行此脚本之前,请先在 MacBook Air 上安装 openSUSE 
#开始执行此脚本之前,请将安装系统时所有官方的 repo 源都设置成 enable 状态
#开始执行前将这两条第三方源加入到 YAST 中,并且在 yast 中设置并信任他的来源,这个软件源是用来安装MacBook Air 无线网卡驱动和播放解码器的软件源: zypper ar -fc https://mirrors.aliyun.com/packman/openSUSE_Leap_15.1 openSUSE-Aliyun-Packman 和 zypper ar -fc http://download.videolan.org/pub/videolan/vlc/SuSE/Leap_15.0/ openSUSE-VLC
#开始执行前,请将 flash 的 rpm 安装包、pycharm-professional-2019.1.2.tar.gz 和脚本放在同一目录下面,这些软件包可以在他们的官方网站上下载
###########前期准备的部分###########

###########自动配置的部分###########
#!/bin/bash
#就决命令终端下主机名的问题
###########修改主机名###########
echo MacBookAir > /etc/hostname
###########修改主机名###########

#解决安装软件的软件源不够完善的问题
###########刷新软件源###########
zypper -n lr -d
zypper -n ref
###########刷新软件源###########

#解决无法输入中文的问题,如果系统默认安装时用的是中文则可以忽略
###########安装中文输入法###########
#zypper -n install ibus    
#zypper -n install ibus-pinyin
###########安装中文输入法###########

#解决 MacBookAir 无法无线上网的问题
###########安装 MacBookAir 无线网卡驱动###########
zypper -n install broadcom-wl
###########安装 MacBookAir 无线网卡驱动###########

#解决无法使用虚拟机的问题
###########安装 KVM 虚拟机###########
zypper -n install qemu-kvm libvirt-daemon libvirt-client libvirt-daemon-driver-qemu virt-install virt-manager virt-v2v 
###########安装 KVM 虚拟机###########

#解决无法使用容器的问题
###########安装 Docker 容器###########
zypper -n install docker
###########安装 Docker 容器###########

#解决浏览器无法看WANGYE\视频\MPS的问题
###########安装 flash ###########
rpm -ivh flash*
zypper -n install ffmpeg lame gstreamer-plugins-bad gstreamer-plugins-ugly gstreamer-plugins-ugly-orig-addon gstreamer-plugins-libav libavcodec56 libavcodec57 libavformat56 libavformat57 libavdevice56 libavdevice57 vlc ffmpeg-tools vlc-codecs
###########安装 flash ###########

#解决 MacBook Air 温度过高的问题
###########将处理器的频率限制在1.6GHZ以内###########
#echo '1600000' > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
#echo '1600000' > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 
#echo '1600000' > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
#echo '1600000' > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
###########将处理器的频率限制在2GHZ###########

#解决不能访问谷歌的问题(需要你提前搭建好服务端的 shadowsocks,否则这一步请注释掉)
###########安装 shadowsocks 和 proxychains ###########
zypper -n install python-pip
pip install --upgrade pip
pip install shadowsocks
zypper -n install proxychains
sed -i 's/socks4.*127.0.0.1.*//' /etc/proxychains.conf
sed -i '$s/.*/socks5          127.0.0.1 5101/' /etc/proxychains.conf
#上条命令中 127.0.0.1 5101 要和到时候本地开启 shadowsock 客户端时所使用的端口号一致
###########安装 shadowsocks 和 proxychains ###########

#解决不能查看处理器温度的问题
###########安装温度查看软件###########
zypper -n install sensors
###########安装温度查看软件###########

#解决不能读取 exfat 格式的问题
###########安装 exfat 格式支持软件###########
zypper -n install fuse-exfat exfat-utils
###########安装 exfat 格式支持软件###########

#解决系统不够安全的问题
###########系统打补丁###########
zypper -n update
###########系统打补丁###########
###########自动配置的部分###########


###########需要手动操作的部分###########
#解决中文输入法没有启动的问题
###########配置中文输入法###########
#点击左上角的“ 活动”,点击“ 设置”,点击“ 区域和语言”,之后再添加“汉语输入法”
###########配置中文输入法###########

#解决科学上网启动的问题
###########实现科学上网###########
#sslocal -s 服务器的ip地址 -p 服务器的端口号 -l 本地端口号 -k 服务器的shadow密码 -t 600 -m aes-256-cfb
#proxychains4 firefox #解释:proxychains4 后面跟要启动的程序
#每次使用都要输入以上两行命令
###########实现科学上网###########

#启用虚拟机的方法
###########启用 KVM###########
#systemctl start libvirtd
#virt-manager 
###########启用 KVM###########

#解决需要使用 python 项目环境的问题
###########安装 pycharm(需要提前在官网上下载pycharm)###########
#tar -xvf pycharm*
#cd pycharm-2*
#cd bin
#./pycharm.sh
###########安装 pycharm###########

#解决命令行使用虚拟机以及系统打补丁需要 sudo 提权并输入 root 密码的问题
###########让用户账号在执行某些命令时具有管理员权限###########
#sudo vim /etc/sudoers
#(在root ALL=(ALL) ALL,也就是 78 行下面)添加以下一行
#zhumingyu ALL=(ALL) NOPASSWD:/usr/bin/systemctl start libvirtd,/usr/bin/virsh start *,/usr/bin/virsh shutdown *,/usr/bin/virsh reboot *,/usr/bin/virsh list,/usr/bin/virsh list --all,/usr/bin/zypper -n update,/usr/bin/zypper update
###########让用户账号在执行某些命令时具有管理员权限###########
###########需要手动操作的部分###########

###########可能出现的报错和解决方法###########
# 如果运行 nohup sslocal -s 服务器的ip地址 -p 服务器的端口号 -l 本地端口号 -k 服务器的shadow密码 -t 600 -m aes-256-cfb 出现以下错误(这个问题是由于在 openssl1.1.0 版本中,废弃了EVP_CIPHER_CTX_cleanup 函数,如官网中所说):
# INFO: loading config from ss.json 
# ......
# AttributeError: /usr/lib/x86_64-Linux-gnu/libcrypto.so.1.1: undefined symbol: EVP_CIPHER_CTX_cleanup
# 则应该进行如下操作:
# 用vim打开文件:vim /usr/lib/python3.6/site-packages/shadowsocks/crypto/openssl.py (该路径请根据自己的系统情况自行修改,如果不知道该文件在哪里的话,可以使用find命令查找文件位置)
# 跳转到52行(shadowsocks2.8.2版本,其他版本搜索一下cleanup)
# 进入编辑模式
# 将第52行libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,)改为libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,)
# 再次搜索cleanup(全文件共2处,此处位于111行),将libcrypto.EVP_CIPHER_CTX_cleanup(self._ctx)改为libcrypto.EVP_CIPHER_CTX_reset(self._ctx)
# 保存并退出
# 重新执行命令 nohup sslocal -s 154.223.166.186 -p 5101 -l 5101 -k 5101 -t 600 -m aes-256-cfb
###########可能出现的报错和解决方法###########