Kali Linux删除去掉烦人的“警告:您正在使用超级账户,可能会损害您的系统”提示 您所在的位置:网站首页 linux关闭root账户 Kali Linux删除去掉烦人的“警告:您正在使用超级账户,可能会损害您的系统”提示

Kali Linux删除去掉烦人的“警告:您正在使用超级账户,可能会损害您的系统”提示

2024-01-21 18:03| 来源: 网络整理| 查看: 265

目录 写在最前教程开始总体的大概思路。下载两个软件的源码进行更改编译打包安装

写在最前

 本文章的Kali Linux版本为2022.3  我相信许多人在使用Kali Linux的过程中都会遇上这些情况:

在这里插入图片描述 p

 对于这个横在Thunar和Mousepad界面正中的警告栏,我说个实话,这毕竟用的都是Kali Linux了,用户还能不知道root应该怎么用吗(

 于是乎我在谷歌和必应之间来回切换,终于找到了几个关于这个横栏的讨论,但是,找到的为数不多的教程其实并没有提出什么实际的解决办法,而且我的解决过程中也有许多的坑,综上种种,我写了这篇博客。

 那么不管怎么说,现在就开始吧。

教程开始

 先把已经改好的软件放在最前面:  mousepad_0.5.10-1_amd64.deb  thunar_4.16.10-1_amd64.deb

总体的大概思路。

 首先,Kali Linux使用的带有“Warning:you are using the root account”,也就是上图的“警告:您正在使用超级帐户,可能会损害您的系统。”这个提示,它其实来自两个软件。

 红色的提示来自一款不怎么有名的Linux开源文本编辑器:Mousepad—Github链接。

 橙红色的警告来自Thunar-Github链接。

 翻看两个软件的Github源代码仓库,都可以在对应的window.c文件中找到对应的代码部分。

 那么处理这个事情就很简单了,我们只需要重新编译安装一遍这两个软件就可以了。

下载两个软件的源码

 首先必须注意一个地方,这两款软件是依靠Xfce来运行的,也就是说它和xfce的版本息息相关。因此,我们不能直接编译安装最新版本。

 先在Terminal中查看这两个软件的版本。

在这里插入图片描述

 然后在代码仓库里找到对应版本的源码并下载。

进行更改

 需要更改的地方很少,如果不懂C语言也可以很轻松。

 首先是Thunar,直接用搜索框搜索关键词root,然后大概是在731行的样子,我们可以找到以下的代码块:

在这里插入图片描述

thunar-window.c部分:

/* check if we need to add the root warning */ if (G_UNLIKELY (geteuid () == 0)){ /* add the bar for the root warning */ infobar = gtk_info_bar_new (); gtk_info_bar_set_message_type (GTK_INFO_BAR (infobar), GTK_MESSAGE_WARNING); gtk_widget_set_hexpand (infobar, TRUE); gtk_grid_attach (GTK_GRID (window->grid), infobar, 0, 2, 1, 1); gtk_widget_show (infobar); /* add the label with the root warning */ label = gtk_label_new (_("Warning: you are using the root account. You may harm your system.")); gtk_container_add (GTK_CONTAINER (gtk_info_bar_get_content_area (GTK_INFO_BAR (infobar))), label); gtk_widget_show (label); }

 大概是在731行的样子。然后把放在上面代码块里的部分全部删除,删除之后大概是这个样子:

在这里插入图片描述

 同理我们处理mousepad的源码。

 源代码长这样:

在这里插入图片描述

mousepad-window.c部分

static void mousepad_window_create_root_warning (MousepadWindow *window){ /* check if we need to add the root warning */ if (G_UNLIKELY (geteuid () == 0)){ GtkWidget *ebox, *label, *separator; GtkCssProvider *provider; GtkStyleContext *context; const gchar *css_string; /* add the box for the root warning */ ebox = gtk_event_box_new (); gtk_box_pack_start (GTK_BOX (window->box), ebox, FALSE, FALSE, 0); gtk_widget_show (ebox); /* add the label with the root warning */ label = gtk_label_new (_("Warning: you are using the root account. You may harm your system.")); gtk_widget_set_margin_start (label, 6); gtk_widget_set_margin_end (label, 6); gtk_widget_set_margin_top (label, 3); gtk_widget_set_margin_bottom (label, 3); gtk_container_add (GTK_CONTAINER (ebox), label); gtk_widget_show (label); separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL); gtk_box_pack_start (GTK_BOX (window->box), separator, FALSE, FALSE, 0); gtk_widget_show (separator); /* apply a CSS style to capture the user's attention */ provider = gtk_css_provider_new (); css_string = "label { background-color: #b4254b; color: #fefefe; }"; context = gtk_widget_get_style_context (label); gtk_css_provider_load_from_data (provider, css_string, -1, NULL); gtk_style_context_add_provider (context, GTK_STYLE_PROVIDER (provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION); g_object_unref (provider); } }

 大概是在1059行。这个处理方法和上面的Thunar稍有不同,我们删掉里面的方法部分,删除后如下: 在这里插入图片描述

 这一部分的工作就做完了。

编译

 这个部分稍微有点折磨人,建议在Debian系的机器上编译(有条件用服务器就行了,安装的运行库软件包懒得删),否则会有大量的需要的运行库找不到。

 首先在两个软件的源码文件夹里打开Terminal,以编译mousepad为例,直接使用./autogen.sh。

 最后的结果一定是失败的,编译器会提示你缺少某个包,然后我们必须安装这个包。这个其实很简单,因为需要的包有点多所以我不一一列举出来。

 这里有些需要注意的地方:缺少的包并不是提示所说的那个名字,我们一般需要带有-dev后缀的包,可以先用apt search 包名搜索一下,找到名字后面带dev的包。如下图:

在这里插入图片描述

 经过痛苦的安装运行库后,反复运行./autogen.sh得到下面的提示说明就ok了:

在这里插入图片描述

 之后使用make进行编译,编译成功后是这样的:

在这里插入图片描述

打包安装

 先使用apt remove将两个软件包都卸载,之后重启一下。

 这里稍有不同,我们不使用make install来安装,而使用checkinstall。

 checkinstall有很多优点,它在安装之后会默认把包加入dpkg的管理目录中,即使以后想删除也可以用dpkg -r ***来卸载。

 首先用apt install checkinstall

 之后一定要把源码文件夹给命名为packname-版本这种格式,比如应该是mousepad-0.5.10这种格式,否则用dpkg命令管理时会很不方便。

 在Temrinal中直接使用checkinstall进行安装,期间它会提示是否需要添加描述和确认包信息之类的,如果看不懂一路回车就行了,如果出现报错,可以跟着提示信息做一些简单的操作,比如删某个文件夹或者文件之类的。

 成功之后是这样的:

在这里插入图片描述

 同时会在目录生成对应的.deb包。 在这里插入图片描述

 编译完其中一个之后立刻重启一次再编译第二个,在第二个编译时可能无法安装,但是会出现deb包,可以使用dpkg -i安装,并添加--force-all参数强制覆盖安装,之后再次重启。  看看效果吧

在这里插入图片描述在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有