Ubuntu、Debian、Deepin 怎样删除多安装的桌面环境?- Linux 小妙招

2023-05-16

(首发地址:学习日记 Ubuntu、Debian、Deepin 怎样删除多安装的桌面环境?- Linux 小妙招 – 学习日记)

今天跟大家分享一点使用 Linux 的小技巧。我们在使用桌面 Linux 的时候,有时会尝试多一种的桌面环境,尝试过后却发现并不是自己需要的类型。这时,怎样彻底删除新桌面环境所带来的数百个软件包呢?本文以 Deepin 20.8 Linux 发行版删除新安装 gnome 桌面为例,分享一则如何在 Debian 系 Linux 中操作的小技巧。文中有任何错漏,欢迎交流指正,谢谢。视频演示地址: https://www.bilibili.com/video/BV1W24y1L7MH/?share_source=copy_web&vd_source=d1925b070926f23b2b6676137251e9ea

Ubuntu、Debian、Deepin 怎样删除多安装的桌面环境?- Linux 小妙招


在 Debian 系 Linux 中,添加新桌面环境最方便的方式就是使用 tasksel 命令安装。Deepin Linux 使用的是自己的 DDE 桌面环境。使用 “tasksel --list-tasks” 可以查看供安装的第二个桌面环境。这里我们使用 “sudo tasksel install gnome-desktop” 在 Deepin 中安装上 gnome-desktop 桌面环境,从安装界面的提示信息可以看到会新安装近 500 个软件包。安装后,重启选择 gnome 桌面,我发现不能登录桌面,于是准备卸载掉新安装桌面所增加的这数百个软件包。提示一下,我在 Deepin 中曾经安装第二个 cinnamon-desktop 桌面环境是可以正常使用的。

首先,我试了一下那个 tasksel 命令,“sudo tasksel remove gnome-desktop”,确实有 6 个软件卸载了,但还有近500个呢。而且,登录界面的桌面类型选择还是有 gnome 的那几个。作为有点小强迫症的我简直不能忍。怎么办呢?好办。我们去系统的安装日志中看当时都安装了哪些软件,找出来把它们全部干掉不就行了。

找到系统的安装日志文件 /var/log/apt/history.log,可以在最近的日志行里找到那条安装数百软件包的记录。一次完整的操作记录包括下面5行,其中的 “Install:” 后面就是安装的具体软件记录 :

Start-Date: 2023-03-25 16:30:19
Commandline: apt install screen
Requested-By: littlebat (1000)
Install: screen:amd64 (4.6.2-3+deb10u1)
End-Date: 2023-03-25 16:30:20

我们把 Install: 那一行后面的部分单独保存为一个文件 $HOME/tmp.txt。你没看错,安装了数百软件包的记录就是那一行。每个软件包的记录格式为如“speech-dispatcher-espeak-ng:amd64 (0.9.0-5+deb10u1, automatic),”这样的。我们只需要把“(0.9.0-5+deb10u1, automatic),”这部分去掉。这样,就得到了一行以空格分开的软件包列表。在这个列表前面加上“sudo apt purge”,就能完全卸载掉当时安装 gnome-desktop 环境新增加的近500个软件包了。看看,我们是不是很聪明?

要实现上面的想法可以借助强大 sed 命令工具,我们用下面的命令来完成:

sed 's/ ([^)]\+)//g;s/,//g;s/^/sudo apt purge /' $HOME/tmp.txt > $HOME/tmp2.txt
sh $HOME/tmp2.txt

第一行是 sed 的三个替换操作生成包含完全卸载(包括配置文件)的命令文件,第二行就是执行文件。
sed 的三个替换操作以两个分号隔开。第一个替换操作表示把以“空格(”开头,以“)”结尾,中间不含“)”的字符串删除掉;第二个表示把“,”删除掉;第三个表示在行首加上“sudo apt purge”。这样就大功告成。看看,是不是很简单?很强大?

所以,在本文的结尾来一句广告词,“要想 Linux 玩得好,命令工具少不了。”

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ubuntu、Debian、Deepin 怎样删除多安装的桌面环境?- Linux 小妙招 的相关文章

  • Caffe技巧之使用snapshot来继续网络训练

    Caffe技巧之使用snapshot来继续网络训练 Caffe技巧之使用snapshot来继续网络训练 Step 1设置solverprototxtStep 2设置运行脚本sh 有时候想在已经训练好的网络上继续之前的训练 xff0c 那么可
  • 鸿蒙最新功能及承载设备详解:HarmonyOS 2及华为全场景新品发布会全纪录

    6月2日 xff0c 华为联手CSDN直播了 HarmonyOS 2及华为全场景新品发布会 xff0c 老猿全程观看直播 xff0c 并进行了回看 xff0c 力争将发布会的核心内容在本文中概要性地呈现 一 一生万物 万物归一 首先是华为消
  • python删除网页html元素

    找到标签id 以id来删除 js span class token operator 61 span span class token string 39 var child 61 document getElementById 34 ex
  • 10.面向对象分析OOA笔记

    文章目录 概述需求陈述建立对象模型典型步骤 建立动态模型典型步骤 建立功能模型数据流图画法 定义服务 概述 识别出问题域内的类和对象 xff0c 分析它们之间的关系 xff0c 建立问题域的正确模型 三种模型中 xff0c 对象模型是最重要
  • 12.软件项目管理笔记

    文章目录 估算软件规模代码行技术KLOC功能点技术FP 估算工作量进度计划人员组织质量保证软件配置管理能力成熟度模型CMM 估算软件规模 代码行技术KLOC xff08 最小规模平均值a 43 4 最可能规模平均值 43 最大规模平均值b
  • 0.各种规格描述技术总结

    文章目录 结构化分析与设计面向对象分析与设计软件项目管理 结构化分析与设计 系统流程图 xff1a 描绘物理系统 E R图 xff1a 数据模型 层次方框图 xff1a 描绘数据结构 xff0c 数据模型 Warnier图 xff1a 描绘
  • 如何更改Git的端口号

    方法一 直接修改URL为SSH 开头 打开gitbash xff0c 进入仓库 xff0c 输入指令 xff1a git remote set url origin ssh git 64 domain com 1234 home git Y
  • vtk多平面重建(MPR)源码

    include 34 vtkSmartPointer h 34 include 34 vtkActor h 34 include 34 vtkCamera h 34 include 34 vtkCellPicker h 34 include
  • 0.1 + 0.2 不等于0.3 问题,精度的丢失和解决办法

    10个0 1相加不等于1 xff1b 这是因为浮点数精度丢失的问题 xff0c 首先知道在计算机中数字是以二进制的方式存在的 xff0c 那么在CPU中计算0 1 43 0 1时实际上是0 1的二进制的相加 xff1b xff08 0 1
  • Raspberrypi 3 系统备份还原, 基于最小系统镜像实现

    Raspberrypi 3 备份还原系统 一 为什么要备份系统 xff1f 1 经常在树莓派上调试程序 xff0c 安装各种软件 xff0c 越来越多的库和程序的安装带来的系统更改几乎是不可逆的 xff0c 一旦某个程序或者驱动出现问题 x
  • OpenStack(Kilo) + Tenant-OVS-VXLAN(ml2) + Multi-Ext-Net

    from http blog sina com cn s blog 6de3aa8a0102vl7m html 使用VirualBox创建CentOS7虚拟机 资源分配视宿主windows而定 xff0c 由于要部署OpenStack xf
  • 利用策略模式优化if-else

    一 定义 策略模式 Strategy Pattern 策略模式属于对象的行为模式 其用意是针对一组算法 xff0c 将每一个算法封装到具有共同接口的独立的类中 xff0c 从而使得它们可以相互替换 策略模式使得算法可以在不影响到客户端的情况
  • web技术分享| 【高德地图】实现自定义的轨迹回放

    实现 轨迹回放 方式有两种 xff1a 第一种是使用 JS API 和 AMap PolyLine xff08 折线 xff09 等图形配合实现 第二种是使用 JS API 和 AMapUI 组件库 配合使用 xff0c 利用 PathSi
  • ubuntu14.04 忘记了普通用户密码和root密码

    步骤一 xff1a 必须先找回ROOT xff0c 才可以往下做 本文使用的Ubuntu版本为14 04 4 xff0c 具体过程如下为 xff1a 1 重启电脑长按shift键直到进入下图进入GRUB引导模式 xff0c 选择第二行Ubu
  • 乐优商城介绍

    1 乐优商城介绍 1 1 项目介绍 乐优商城是一个全品类的电商购物网站 xff08 B2C xff09 用户可以在线购买商品 加入购物车 下单 秒杀商品可以品论已购买商品管理员可以在后台管理商品的上下架 促销活动管理员可以监控商品销售状况客
  • 使用java中replaceAll方法替换字符串中的反斜杠

    今天在项目中使用java中replaceAll方法将字符串中的反斜杠 34 34 替换成空字符串 34 34 xff0c 结果出现如下的异常 xff1a 1 java util regex PatternSyntaxException Un
  • 正则表达式匹配引号中间的内容怎么写?

    字符串 123 abc 456 匹配结果 abc Answer1 利用先行和后发断言规则 xff1a lt 61 34 61 34 最近总结了一篇关于正则表达式的博文 xff0c 题主不妨一读 xff1a 正则表达式基础 测试代码如下 xf
  • excel将一个工作表根据条件拆分成多个工作表图文教程

    本例介绍在excel中如何将一个工作表根据条件拆分成多个工作表 注意 xff1a 很多朋友反映sheets i delete这句代码出错 xff0c 要注意下面第一个步骤 xff0c 要拆分的数据工作表名称为 数据源 xff0c 而不是你新
  • python3下cv2.imwrite存储带有中文路径

    由于imwrite前使用编码在python3中已经不适用 xff0c 可用imencode代替 xff0c 以下代码是从视频中获取第2帧保存在中文文件夹下的实例 xff1a cap 61 cv2 VideoCapture 34 mp4 34
  • tf.placeholder、feed_dict用法说明

    函数形式 xff1a tf placeholder dtype shape 61 None name 61 None 参数 xff1a dtype xff1a 数据类型 常用的是tf float32 tf float64等数值类型 shap

随机推荐

  • sess.run()

    函数 xff1a run fetches feed dict 61 None options 61 None run metadata 61 None 当构建完图后 xff0c 需要在一个session会话中启动图 xff0c 第一步是创建
  • 卷积神经网络之AlexNet网络详解

    一 介绍 Alex Krizhevsky等人训练了一个大型的卷积神经网络用来把ImageNet LSVRC 2010比赛中120万张高分辨率的图像分为1000个不同的类别 在测试卷上 xff0c 获得很高准确率 top 1 and top
  • 如何分清分布式、高并发与多线程

    当提起这三个词的时候 xff0c 是不是很多人都认为分布式 61 高并发 61 多线程 xff1f 当面试官问到高并发系统可以采用哪些手段来解决 xff0c 或者被问到分布式系统如何解决一致性的问题 xff0c 是不是一脸懵逼 xff1f
  • 利用正则表达式排除特定字符串

    查找不以baidu开头的字符串 baidu com sina com cn 正则 xff1a baidu 匹配结果就是第2行 xff0c 也就是第1行被排除了 这里使用了零宽度断言 exp 注意 xff0c 我们有一个向前查找的语法 也叫顺
  • 自学记录--python小知识

    os path 的一些功能 根据实际项目中的例子来理解一下大体的用法 xff0c 目前只接触了几个方法 例1 xff1a 我是在c python django ttsx2 ttsx goods views py工作 xff0c 运行环境是在
  • django配置连接多个数据库,和把应用名字在admin后台显示为中文

    django配置连接多个数据库 xff0c 自定义表名称 在项目tt下新建两个app xff0c 分别为app01 app02 配置app01使用default节点数据库 xff1b app02使用hvdb节点数据库 xff08 也可以配置
  • 自学记录--字符串,列表,字典的常用方法

    字符串常见操作 如有字符串mystr 61 39 hello world itcast and itcastcpp 39 xff0c 以下是常见的操作 lt 1 gt find 检测 str 是否包含在 mystr中 xff0c 如果是返回
  • 自学记录--django模型使用记录

    对于重要数据都做逻辑删除 xff0c 不做物理删除 xff0c 实现方法是定义isDelete字段 xff0c 类型为BooleanField 默认值为False 字段类型概括 AutoField xff1a 一个根据实际ID自动增长的In
  • 自学记录--django模板使用记录

    模板template相关知识及问题 xff1a 过滤器 xff1a value floatformat gt 不给参数的话会将浮点数的小数位舍入到一个小数位 例 xff1a value 61 34 256 gt 结果为34 3 value
  • 自学记录--django+uwsgi+nginx部署

    一 xff1a 服务器环境配置 在本地的虚拟环境中 xff0c 项目根目录下 xff0c 执行命令收集所有包 pip freeze gt plist txt 通过xftp软件将开发好的项目和收集的包上传到服务器某个目录在服务器上面安装并创建
  • 赛码-三分线-java

    题目描述 小赛很喜欢看A队和B队的篮球比赛 众所周知 xff0c 篮球每回合根据投篮远近可以得2分或3分 如果投篮距离小于d那么得2分 xff0c 大于等于d得3分 我们将d记为三分线 每次小赛都喜欢通过改变三分线的大小来让自己支持的A队获
  • xrdp远程登录恢复上一次登陆会话

    本文参考Xrdp Tip How to reconnect to the existing session while using the xrdp package from Ubuntu Repository 首先连接远程桌面是观察连接时
  • 查看Debian版本

    查看Debian版本信息命令如下 xff1a lsb release a 参考运行截图 xff1a
  • Linux 服务器安装配置 TimeMachine

    Linux 服务器安装配置 TimeMachine 1 安装 Time Machine 相关的后台服务 1 安装netatalk xff1a apt get install netatalk 2 安装 dbus xff1a apt get
  • Linux命令总结--特殊符号命令

    Linux中特殊符号大全 井号 comments 管理员 普通用户 脚本中 bin bash bin sh 井号也常出现在一行的开头 xff0c 或者位于完整指令之后 xff0c 这类情况表示符号后面的是注解文字 xff0c 不会被执行 T
  • ZeroMQ学习笔记(5)——高级发布订阅模式

    第五章 高级发布订阅模式 何时使用发布 订阅模式 如何处理过于慢速的订阅者 xff08 自杀蜗牛模式 xff09 如何设计高速订阅者 xff08 黑盒模式 xff09 如何监控一个发布 订阅网络 xff08 特浓咖啡模式 xff09 如何建
  • n个数依次入栈,出栈顺序有多少种?

    这个问题是卡特兰数的第n项结果 卡特兰数 卡特兰数前几项为 1 1 2 5 14 42 132 429 1430 4862 16796 58786 208012 742900 2674440 9694845 35357670 1296447
  • cas-overlay-template实现单点登录步骤

    转载 https blog csdn net zlsuperjj article details 92439816 搭建CAS SERVER 这里使用cas overlay template搭建cas服务器 xff0c overlay可以把
  • Ubuntu—Anaconda库介绍

    Ubuntu Anaconda库介绍 库的构成 其库由各个下载的包组成 xff0c 如torch numpy等 安装后 xff0c 除原始包外 xff0c 还有一个链接包XXXXX dist info xff0c 这个是用来实现包的调用的
  • Ubuntu、Debian、Deepin 怎样删除多安装的桌面环境?- Linux 小妙招

    xff08 首发地址 xff1a 学习日记 Ubuntu Debian Deepin 怎样删除多安装的桌面环境 xff1f Linux 小妙招 学习日记 xff09 今天跟大家分享一点使用 Linux 的小技巧 我们在使用桌面 Linux