让 KDE 可以像 GNOME 一样使用 Meta 键进行后台窗口调度

众所周知,KDE Plasma 的 Meta 键也就是 Win 键或者叫 Super 键是很难直接在图形界面的设置里面直接重新调度 Remap,当你尝试要单独去映射 Meta 键的时候总会乱码,所以需要借助命令行的作用来使得 Meta 键位失效或者 Remap 原来的 Meta 键是唤起 KDE 的菜单,要想使得它失效,可以应用以下命令: 1 kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta "" 如果要将 Meta 映射为激活后台切换调度,也就是图形界面设置里面 KWin 的"Overview=Meta+W,Meta+W,显示/隐藏桌面总览",要使用如下命令: 首先是映射: 1 kwriteconfig5 --file kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.kglobalaccel,/component/kwin,,invokeShortcut,Overview" 然后是重启 KWin : 1 qdbus org.kde.KWin /KWin reconfigure 找到解决办法的 Reddit 讨论链接: 1 https://www.reddit.com/r/kde/comments/t416lu/rebind_meta_key_to_open_overview/

一月 1, 2024 · 1 分钟 · 57 字 · HCY

快速本地部署 Hugo 环境

进入要存放博客文件的目录之后才可以执行以下指令 拉取安装最新Hugo 1 2 3 4 5 6 7 8 9 10 response=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest);\ version=$(echo "$response" | jq -r '.tag_name');\ download_url=$(echo "$response" | jq -r '.assets[-5].browser_download_url');\ echo "--- Hugo version: "$version" ----";\ curl -L -o hugo.deb $download_url;\ sudo apt install ./hugo.deb;\ rm hugo.deb;\ unset response;\ unset version;\ unset download_url 拉取博客源数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 git config --global init.defaultBranch main;\ git config --global user.name "hcy-asleep";\ git config --global user.email 2420066864@qq.com;\ git config --global credential.helper store;\ git clone https://github.com/HCY-ASLEEP/Hugo_Blog_Source.git;\ mv Hugo_Blog_Source/ blogs/;\ mkdir blogs/source/themes/;\ git clone https://github.com/adityatelange/hugo-PaperMod.git blogs/source/themes/PaperMod/;\ mkdir blogs/source/public/;\ cp blogs/source/autogit blogs/source/public/autogit; sed -i '1 a script_dir=$(pwd)\ncd ..\nhugo\ncd $script_dir' blogs/source/public/autogit;\ echo "autogit" >> blogs/source/public/.gitignore;\ cd blogs/source/public/;\ git init;\ git remote add origin https://github.com/HCY-ASLEEP/HCY-ASLEEP.github.io.git;\ cp ../google188014ab03dc55b7.html . ;\ cd ..

十二月 30, 2023 · 1 分钟 · 132 字 · HCY

快速配置Ubuntu Docker开发环境

下面指令执行之前建议先挂个代理 启动一个 Ubuntu 容器 快速创建一个 Ubuntu 容器 1 2 xhost +;\ podman run -it --net=host -e DISPLAY=$DISPLAY --name=devenv -v /home/hcy/Documents/ubuntu/:/home/devenv/ ubuntu /bin/bash Ubuntu 容器基本设置 基本设置和基本软件 1 2 3 4 5 6 7 8 9 apt update;\ apt upgrade -y;\ apt install jq xz-utils curl sudo git apt-transport-https ca-certificates ripgrep vim-tiny -y;\ useradd -m devenv;\ usermod -s /bin/bash devenv;\ sudo sh -c 'echo "devenv ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers';\ sudo chown devenv /home/devenv/;\ sudo chgrp devenv /home/devenv/;\ su devenv 切换到普通用户目录 回到家目录 ...

十二月 30, 2023 · 3 分钟 · 538 字 · HCY

Alacritty 配置 JetBrains Mono 字体

在 ~/.config/alacritty/ 目录下创建 alacritty.yml 1 2 mkdir ~/.config/alacritty/;\ touch ~/.config/alacritty/alacritty.yml 写入 alacritty.yml 配置 1 2 3 4 5 font: normal: family: Jetbrains Mono style: Regular size: 12

十二月 26, 2023 · 1 分钟 · 27 字 · HCY

为 xv6-riscv 移植扫雷(minesweeper) 2048 以及非常简单的 sl

前言 我使用的 xv6-riscv 是 fork MIT 官方的库,在它的基础上面进行移植,这个教学系统原本是与 6.1810 一起配套使用的,下面这个是官方仓库地址: 👉 https://github.com/mit-pdos/xv6-riscv 这是我所做过的移植交互程序及之前 SZU OS 课程在 xv6 上面做的一些实验: 👉 我对 xv6-riscv 的一些改动 2048 移植以及相关移植准备 终端交互移植最关键的就是要把缺失的库函数都补完,首先就得增加和改进 xv6-riscv 原有的终端交互相关的库 在 xv6-riscv 的顶层目录下新建一个 include 文件夹,里面存放改进的头文件 Head What it does assert.h 断言的相关宏定义和函数声明,用于断言检查 ctype.h 字符处理的函数和宏定义,对字符进行分类和转换 limits.h 定义了各种数据类型的取值范围以及其他与整数类型相关的常量 stdarg.h 提供了支持可变参数函数的宏和类型定义 stdbool.h 定义了布尔类型和相关的常量,没错,xv6-riscv 原本甚至不支持 bool 型变量 stddef.h 提供了一些与指针、大小和偏移量相关的常量和类型定义 stdio.h 用于处理标准输入输出 stdlib.h 用于内存管理、字符串转换、伪随机数生成、算术运算和程序终止等 termios.h 用于控制和配置终端的行为 unistd.h 定义了一些与系统调用、文件操作、进程控制、环境变量和程序终止相关的函数和常量 上面这些改进的库函数里面最关键的是 termios.h 和 stdio.h ,没错,xv6-riscv 连标准输入输出都没有,刷新终端都做不到。。。即便如此 termios.h 移植之后也是极度残缺的,因为没有 xv6-riscv 压根就没有提供 ioctl 的系统调用!也正是因为这个原因,C语言里面的标准库 curses.h (可以控制光标位置、输出文本、设置颜色、处理用户输入等,使用这些函数和宏,可以在终端中实现基本的交互式图形界面) 压根移植不了,这进一步导致 vi 移植不了 ...

六月 6, 2023 · 2 分钟 · 264 字 · HCY