美文网首页linux工具Linux我用 Linux
写一个自己的重装脚本(GUI)

写一个自己的重装脚本(GUI)

作者: 左蓝 | 来源:发表于2017-03-09 23:20 被阅读487次

今天因为前天文件系统崩溃而重装,然后觉得重装真是很麻烦呐,不过基本上都是重复劳动,所以,把一些常用的重装后的动作自动化实现吧。

这算是之前的那篇《为 shell 脚本添加交互界面》的实践吧。

有界面的自动配置工具
#!/bin/bash

# 说明:请使用bash命令运行脚本,否则会报错

# 清空终端
clear

# 构建图形化界面
GUI=$(zenity --list --checklist \
  --height="600" \
  --width="1000" \
  --title="重装后快速配置工具" \
  --text="请从下面列表中选择需要设置或安装的项目" \
  --column="选择" --column="操作"   --column="描述" \
  TRUE "更新系统" "更新系统及应用软件包"  \
  FALSE "安装 zsh" "包括 oh-my-zsh 和 powerline 等工具" \
  FALSE "设置 .zshrc" "加入常用的 alias 配置以及常用系统环境" \
  FALSE "安装 Typora" "还不错的 Markdown 编辑器" \
  FALSE "安装 Geary" "安装邮件客户端,可后台收邮件并提醒" \
  FALSE "安装 Nextcloud" "私人云同步工具的客户端" \
  FALSE "安装 FileZilla" "不错的 FTP 客户端工具" \
  FALSE "安装 Seahorse" "系统密钥管理工具" \
  FALSE "安装 Shadowsocks" "Shadowsocks 客户端(GUI)" \
  FALSE "安装 Easystroke" "安装鼠标手势工具" \
#
# 这里面还有很多很多,总之自己根据自己的情况写上去。
#
  FALSE "自动挂载磁盘" "挂载我电脑的其他分区" \
  FALSE "安装 Go 环境" "Go 语言开发环境" \
  FALSE "安装 Java 环境" "Java 语言开发环境" \
  TRUE "修复软件依赖" "修复软件包依赖,修复无法启动的软件包" \
  TRUE "清理软件包" "删除系统冗余的软件包及清理本地软件包缓存" \
  --separator="|");

if [[ $GUI ]]
then

#
# 下面是两个示例,实际上就是把自己的操作自动化执行罢了。
#

  # 更新系统操作
  if [[ $GUI == *"更新系统"* ]]
  then
    clear
    echo "正在更新系统"
    echo ""
    sudo apt -y update
    sudo apt -y full-upgrade
  fi

  # 安装 zsh
  if [[ $GUI == *"安装 zsh"* ]]
  then
    clear
    echo "正在安装 zsh"
    echo ""
    sudo apt -y install zsh curl
    sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  fi

#
# 这里继续补充你的操作
#

  # 修复损坏的软件包操作
  if [[ $GUI == *"修复损坏的软件包"* ]]
  then
    clear
    echo "正在修复损坏的软件包"
    echo ""
    sudo apt -y -f install
  fi

  # 清理软件包操作
  if [[ $GUI == *"清理软件包"* ]]
  then
    clear
    echo "正在清理软件包"
    echo ""
    sudo apt -y autoremove
    sudo apt -y autoclean
  fi

  # 完成信息
  clear
  echo "配置完成,部分配置重启后生效。"
  notify-send -i utilities-terminal 我的快速配置工具 "配置完成,部分配置重启后生效。"

fi

因为每个人的操作都不同,我就不贴完整的代码了,完整源代码可以看这里:(我还没写完,笑。写完补充。)

相关文章

  • 写一个自己的重装脚本(GUI)

    今天因为前天文件系统崩溃而重装,然后觉得重装真是很麻烦呐,不过基本上都是重复劳动,所以,把一些常用的重装后的动作自...

  • ATX系列:安卓脚本录制(不好用)

    自动化测试中写测试脚本、维护脚本是件苦差事。atx中已有辅助写脚本的gui工具和webide。最近又增加了一个录制...

  • deepin 安装Tkinter

    在使用之前写的一个py脚本的时候,需要import Tkinter这个用于实现GUI的库。于是直接pip inst...

  • jmeter非GUI模式压测

    1.打开jmeter.bat文件,看到 请勿使用GUI模式负载测试,GUI模式只是用来创建脚本和调试脚本 2.那还...

  • 使用非GUI模式运行JMeter

    通常我们使用GUI模式来进行脚本的录制和调试,当我们要使用脚本 进行压力测试时,一般使用非GUI模式,这样可以减少...

  • 生物软件安装脚本

    写一个安装生物软件的脚本,防止以后换个服务器,或者换电脑,或者重装虚拟机又要自己一个一个去下,直接一步到位。顺便对...

  • 5.2 使用浏览器无头模式执行Selnium脚本

    执行Selenium脚本时,我们往往不需要盯着电脑看脚本的执行情况,再或者我们的脚本可能被执行在一个无GUI的Li...

  • jmeter非GUI界面参数讲解

    非GUI界面,压测参数讲解 -h 帮助 -n 非GUI模式 -t 指定要允许的JMeter测试脚本文件 -l 记录...

  • [Warning]failed to handler mux c

    原因:由于官方在2022-1-1 启用了 VMess MD5 认证信息淘汰机制。 解决方式:重装系统 + 重装脚本...

  • 理解Promise, async, await

    关于异步 JavaScript脚本执行是“单线程”(脚本解释引擎是单线程的),但会GUI线程,网络请求线程等JS引...

网友评论

  • M4K0:建议加个日志记录文件,便于跟踪问题
  • 钟凤山:还是直接kictstart好
  • poetdp:dalao 用的那个 Linux
    左蓝:@rocj 呆毛大法(Debian)。
    poetdp:哪个
  • 48f56ac3b6d7:重装系统都是一键完成的,你这样才是麻烦呢...
    许依森: @琴瑟萧萧_9f8e 大兄弟,你没看明白作者的真实目的~
    1.推荐一些不错的软件及配置
    2.只是自己需要安装相关软件时提供便利
    3.玩那遛的飞起的编程技术
    😬不是你理解的那个装系统

本文标题:写一个自己的重装脚本(GUI)

本文链接:https://www.haomeiwen.com/subject/anpxgttx.html