热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Linux配置和使用i3窗口管理器的教程

今天小编就为大家分享一篇关于Linux配置和使用i3窗口管理器的教程,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

在本篇文章中,我将向大家展示,如何在 Fedora 28 上安装与简单配置 i3。

1、安装

首先进入 Fedora 系统中,打开一个终端。使用 dnf 来安装需要的软件包,如下:

注意:在这个命令中,我排除了 rxvt-unicode 这个包,因为我更喜欢 terminator 作为我的终端模拟器。

据用户目前的系统状态,在命令执行过程中可能会安装很多依赖。等待所有的依赖安装完成,之后重启你的电脑。

2、首次登录与初始化

在你的机器重启之后,你便可以第一次体验 i3 了。在 GNOME 显示管理器(GDM)屏幕,选择你的用户名,之后先别着急输密码,点击下方的密码输入框下方的小齿轮,之后选择 i3 而不是 GNOME,像下方这样:

输入你的密码,并点击 “Sign In”。在你第一次登入之后,会先看到 i3 的配置界面:

点击回车键就会在 $HOME/.config/i3 生成一个配置文件,之后你可以通过这个配置文件来定制化 i3 的一些行为。

在下一屏,你需要选择你的 Mod 键。这一步很关键,因为 Mod 键通常都会作为 i3 命令快捷键的发起键。按回车会选择 Win 键作为默认的 Mod 键。如果你的键盘没有 Win 键,用 Alt 键做替代,用方向键键选择后按回车键确认。

现在你就登录到了 i3 的系统中。由于 i3 是一个极简的窗口管理器,你会看到一个黑屏窗口,以及屏幕底端显示的状态栏:

接下来,让我们看看 i3 的如何实际使用。

3、快捷键

现在你已经登录到了 i3 会话中,你需要几个基本的快捷键来应对基本的操作。

下面整理了一些常用的快捷键,当然还不止这些,对于复杂的需求,需要自己写脚本实现。

默认快捷键:

Key Command
$mod + Enter 启动虚拟终端
$mod + A 焦点转义到父窗口上
$mod + S 堆叠布局
$mod + W 标签布局
$mod + E 默认布局
$mod + SpaceBar 焦点在平铺式/浮动式转换
$mod + D 启动 dmenu
$mod + H 水平分割窗口
$mod + V 垂直分割窗口
$mod + J 焦点往左窗口移
$mod + K 焦点往下窗口移
$mod + L 焦点往上窗口移
$mod + ; 焦点往右窗口移
$mod + Shift + Q 杀死当前窗口的进程
$mod + Shift + E 退出 i3
$mod + Shift + C 当场重新加载 i3config, 无需重启
$mod + Shift + R 重启 i3 (还重新加载了 i3config, 又没有退出过程)
$mod + Shift + J 窗口左移
$mod + Shift + K 窗口下移
$mod + Shift + L 窗口上移
$mod + Shift + : 窗口右移
$mod + Shift + SpaceBar 窗口在平铺式/浮动式转换

大多数的 i3 快捷键都会用到之前配置的 Mod 键。在下面的例子中,当我提到 Mod 键,请根据情况使用你定义的做替换。通常使用 Win 键或者 Alt 键。

首先,要打开一个终端,可以使用 Mod+ENTER。重复打开几个终端,观察 i3 是如何自动将它们在桌面中排列。默认情况下, i3 会在水平的方向分割屏幕;使用 Mod + v 来垂直分割,再按 Mod + h 会恢复水平分割模式。

当需要启动其他的应用,按 Mod + d 来打开 dmenu,一个简单的文字应用菜单。默认情况下,dmenu 会呈现出所有在你 $PATH 中设置的应用。使用方向键来选择你想启动的应用,同时你可以键入应用的名称,来缩小选择的范围,之后按回车键来启动选择的应用。

如果你的应用没有提供退出的方法,你可以使用 i3 来关闭对应的窗口,通过按 Mod + Shift +q。注意,你可能会丢失未保存的工作内容。

最后,当你想关闭会话并退出 i3,按 Mod + Shift +e。之后会在窗口的上方提示你是否退出。点击 “Yes, exit i3” 退出,或选择 “X” 来取消。

这些就是 i3 中最基本的快捷键

除了快捷键外,i3对多显示器的支持也很好,新建窗口的位置取决于新建窗口命令所在的监视器。

i3平铺式支持横向和纵向。支持多行或多列。支持窗口的重命名。

尽管i3这类的平铺式窗口管理器非常少众,但对于技术控来说,是一件让人兴奋的“玩具”。

4、替换GDM

使用 i3 窗口管理器会降低你操作系统的内存占用;然而,Fedora 依然会使用 GDM 作为登录屏。GDM 会载入几个与 GNOME 相关的库从而占用内存。

如果你想进一步的降低你的内存占用,你可以使用一些更轻量级的显示管理器来替换 GDM,比如 lightdm :

之后重启你的机器来使用Lightdm 的登录界面。

现在你可以继续登录并使用 i3了。

i3这类窗口管理器与Xfce,KDE,Gnome,Cinnamon这类桌面软件专注于华丽的界面不同的是,更加专注于键盘控制,和效率提升,定制化。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接


推荐阅读
  • Unix与Linux的起源与发展
    本文详细探讨了Unix与Linux的操作系统起源,从自由软件运动的兴起,到Linux内核的诞生,全面解析了这两款操作系统的发展历程及其对现代计算技术的影响。 ... [详细]
  • 本文详细介绍了将本地计算机和服务器从CentOS 7.2或7.3版本升级到7.4的过程,包括必要的准备步骤、执行升级的具体命令以及验证升级是否成功的检查方法。 ... [详细]
  • Linux中使用Shell脚本获取网络配置信息
    本文提供了一组Shell命令,用于在Linux系统中提取IP地址、子网掩码、MAC地址及默认网关等关键网络配置信息。 ... [详细]
  • VS Code 中 .vscode 文件夹配置详解
    本文介绍了 VS Code 中 .vscode 文件夹下的配置文件及其作用,包括常用的预定义变量和三个关键配置文件:launch.json、tasks.json 和 c_cpp_properties.json。 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • 本文详细介绍了如何在Ubuntu操作系统中安装和配置Maven,包括必要的环境准备和验证步骤。 ... [详细]
  • Mac环境下Java与Ant自动化构建环境搭建指南
    本文详细介绍了如何在Mac操作系统上为测试工程师搭建Java和Ant开发环境,包括环境变量配置等关键步骤。 ... [详细]
  • 本文详细介绍了Linux系统中的三个主要分区:启动分区、交换分区和根分区的功能与特点,以及常见的文件类型、文件搜索方法和常用符号的使用。此外,还深入解析了mkdir和rm命令的具体应用。 ... [详细]
  • 重新审视Kubernetes的必要性
    近期,我注意到不少人误以为我是Kubernetes的推广者。实际上,我只是分享了一些适合用Kubernetes解决的案例。本文旨在探讨Kubernetes的适用场景,并提供一些替代方案。 ... [详细]
  • UMPlatForm.NET 5.1 版本数据字典管理功能解析
    本文介绍了 UMPlatForm.NET 5.1 版本中的数据字典管理模块,探讨了该模块如何支持平台的数据共享与管理,以及如何通过用户和角色权限来增强系统的安全性。 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
  • 本文将详细介绍在Linux环境下挂载U盘的方法和步骤,帮助用户更好地理解和操作Linux系统下的外部存储设备。 ... [详细]
  • 本文深入探讨了分布式文件系统的核心概念及其在现代数据存储解决方案中的应用,特别是针对大规模数据处理的需求。文章不仅介绍了多种流行的分布式文件系统和NoSQL数据库,还提供了选择合适系统的指导原则。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 本文详细探讨了 HAProxy 的基本概念及其与 LVS(Linux Virtual Server)的比较,特别是在内核空间与用户空间的工作差异。文章还深入介绍了 HAProxy 独有的数据结构——弹性二叉树,以及其在高并发场景下的表现。 ... [详细]
author-avatar
手机用户2502854107
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有