Arch Linux 安装 dwm 窗口管理器

news2024/12/23 4:44:47

窗口管理器是管理桌面上各种窗口的组件,主要功能有:窗口堆叠方式,窗口移动规则等。大多数人接触到的是堆叠式窗口管理器,一个窗口可以叠放在其他窗口之上,调整窗口的主要方式是鼠标。而dwm(Dynamic Window Manager)是suckless开发的一个动态窗口管理器,可以自定义不同窗口的出现规则如平铺或者堆叠,它调整窗口的主要方式是键盘。

同桌面环境一样,dwm也必须有最基本的软件支撑,推荐安装下面的软件:

软件名软件介绍
dwm动态窗口管理器,suckless开发
demu应用程序选择器,suckless开发
st终端模拟器,suckless开发
feh壁纸设置程序
pcmanfm文件管理系统
fcitx5输入法

一、安装

1. 创建一个用户,并赋 sudo 权限

如果没有普通用户,需要创建一个普通用户(如我的 hollowman 用户),并切换到普通用户,因为桌面环境通常是在普通用户模式下运行。

# useradd -m hollowman
# usermod -aG adm,wheel hollowman
# passwd hollowman
# vim /etc/sudoers     #找到 #%wheel ALL=(ALL:ALL) ALL去掉注释
%wheel ALL=(ALL:ALL) ALL
# su hollowman

2. 安装xorg协议及必要软件

$ sudo pacman -S xorg xorg-xinit feh udisks2 udiskie pcmanfm git
$ systemctl enable udisks2   #自动启动udisks2服务,可以使得文件管理系统(pcmanfm)能够自动识别U盘

3. 安装dwm,st,dmenu

$ git clone https://git.suckless.org/dwm
$ git clone https://git.suckless.org/st
$ git clone https://git.suckless.org/dmenu

$ cd dwm
$ sudo make clean install    #编译安装

$ cd ../st
$ sudo make clean install

$ cd ../dmenu
$ sudo make clean install

4.安装显卡驱动

由于我的是KVM虚拟机,使用的是qxl虚拟网卡,如不装驱动,会提示找不到display,因此需安装驱动后重启。

$ sudo pacman -S xf86-video-qxl

5. 安装声音工具

$ sudo pacman -S alsa-utils

6. 设置自动启动dwm

$ cp /etc/X11/xinit/xinitrc ~/.xinitrc    
$ sudo vim .xinitrc   #注释掉最后5行,并添加exec dwm
#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login
exec dwm

$ startx   #启动dwm,若启动失败,考虑重装xorg和xorg-xinit

7. 查看dwm配置信息

dwm配置信息可查看dwm目录下的config.h文件,并可进行个性化配置。

先学习最基础的dwm用法:
使用 Mod1 + p 可以启动 dmenu, 然后只需要在上边出现的工具条中输入你想运行的程序窗口管理器是管理桌面上各种窗口的组件,主要功能有:窗口堆叠方式,窗口移动规则等。大多数人接触到的是堆叠式窗口管理器,一个窗口可以叠放在其他窗口之上,调整窗口的主要方式是鼠标。而dwm(Dynamic Window Manager)是suckless开发的一个动态窗口管理器,可以自定义不同窗口的出现规则如平铺或者堆叠,它调整窗口的主要方式是键盘。

同桌面环境一样,dwm也必须有最基本的软件支撑,推荐安装下面的软件:

软件名软件介绍
dwm动态窗口管理器,suckless开发
demu应用程序选择器,suckless开发
st终端模拟器,suckless开发
feh壁纸设置程序
pcmanfm文件管理系统
fcitx5输入法

Dmenu是dwm的一个有用的扩展。它不是一个单独的列表式菜单,而是生成一个可执行文件的列表并根据输入进行自动补全。比起许多程序启动器,它能与dwm更好地整合。

可以按 Mod1 + P 来启动Dmenu(Mod1 缺省是 Alt )。当然你也可以按自己的喜好改变它。然后只需要在上边出现的工具条中输入你想运行的程序的前几个字母,也可以按左右箭头在进行选择,按回车键完成。

8. 通过 startx 命令启动 dwm

$ startx

此时可以正常使用dwm了,先学习一下4个基础用法(这里Mod1指的是alt键):

启动dmenu: Mod1 + p ,并在上边出现的工具条中输入你想运行的程序名,按回车。

启动终端st: Mod1 + Shift + enter

切换工作区(1-9): Shift + Mod1 + x

关闭当前窗口: Mod1 + Shift +c

退出 dwm:Mod1 + Shift + q

9. dwm 快捷键学习

dwm 目录的 config.h 文件中包含了配置信息,包括快捷键,可以查看和修改。

$ cd dwm
$ sudo vim config.h   #查看并修改dwm的配置信息。

...省略的配置信息....

#define MODKEY Mod1Mask   #定义MODKEY,默认是Mod1Mask(Alt键),如怕冲突,可修改为Mod4Mask(Window键),修改后要重新编译安装才能生效。

...省略的配置信息....

static Key keys[] = {
/* 	modifier                        key         function        argument                 */
	{ MODKEY,                       XK_p,       spawn,          {.v = dmenucmd } },      # MODKEY + p 打开程序管理器dmenu
	{ MODKEY|ShiftMask,             XK_Return,  spawn,          {.v = termcmd } },       # MODKEY + Shift + Return 打开终端模拟器st
	{ MODKEY,                       XK_b,       togglebar,      {0} },                   # MODKEY + b 显示/隐藏dwm顶部的状态栏
	{ MODKEY,                       XK_j,       focusstack,     {.i = +1 } },            # MODKEY + j 工作窗口焦点切换,窗口层次+1,也就是下移1层
	{ MODKEY,                       XK_k,       focusstack,     {.i = -1 } },            # MODKEY + k 工作窗口焦点切换,窗口层次-1,也就是上移1层
	{ MODKEY,                       XK_i,       incnmaster,     {.i = +1 } },            # MODKEY + i 平铺式工作窗口排列布局切换
	{ MODKEY,                       XK_d,       incnmaster,     {.i = -1 } },            # MODKEY + d 平铺式工作窗口排列布局切换
	{ MODKEY,                       XK_h,       setmfact,       {.f = -0.05} },          # MODKEY + h 平铺式工作窗口大小比例切换,主窗口-5%
	{ MODKEY,                       XK_l,       setmfact,       {.f = +0.05} },          # MODKEY + l 平铺式工作窗口大小比例切换,主窗口+5%
	{ MODKEY,                       XK_Return,  zoom,           {0} },                   # MODKEY + Return 将第一层窗口(主窗口)与当前焦点所在的窗口或者第2层的窗口交换位置
	{ MODKEY,                       XK_Tab,     view,           {0} },                   # MODKEY + Tab 切换到上一次进入的工作区
	{ MODKEY|ShiftMask,             XK_c,       killclient,     {0} },                   # MODKEY + Shift + c 关闭工作窗口
	{ MODKEY,                       XK_t,       setlayout,      {.v = &layouts[0]} },    # MODKEY + t 将窗口布局模式设为layouts[0]也就是平铺
	{ MODKEY,                       XK_f,       setlayout,      {.v = &layouts[1]} },    # MODKEY + f 将窗口布局模式设为layouts[1]也就是浮动堆叠,但不改变打开的窗口大小
	{ MODKEY,                       XK_m,       setlayout,      {.v = &layouts[2]} },    # MODKEY + m 将窗口布局模式设为layouts[2]也就是全屏堆叠
	{ MODKEY,                       XK_space,   setlayout,      {0} },                   # MODKEY + Space 在最近获得焦点的两个窗口排列模式之间来回切换
	{ MODKEY|ShiftMask,             XK_space,   togglefloating, {0} },                   # MODKEY + Shift + Space 将工作区窗口布局模式调整为浮动式模式,且会将第2层的窗口调整为全屏,注意与 XK + f 区分
	{ MODKEY,                       XK_0,       view,           {.ui = ~0 } },           # MODKEY + [0-9] 显示对应工作区的工作窗口,如果是0则显示所有工作区的所有工作窗口
	{ MODKEY|ShiftMask,             XK_0,       tag,            {.ui = ~0 } },           # MODKEY + Shift + [0-9] 将当前工作窗口移动至对应工作区,如果是0则表示将当前工作窗口移动至每个工作区(不是拷贝)
	{ MODKEY,                       XK_comma,   focusmon,       {.i = -1 } },            # MODKEY + 
	{ MODKEY,                       XK_period,  focusmon,       {.i = +1 } },            # MODKEY +  
	{ MODKEY|ShiftMask,             XK_comma,   tagmon,         {.i = -1 } },            # MODKEY + Shift + 
	{ MODKEY|ShiftMask,             XK_period,  tagmon,         {.i = +1 } },            # MODKEY + Shift +  
	TAGKEYS(                        XK_1,                       0)                       # MODKEY + 1 切换到1号工作区
	TAGKEYS(                        XK_2,                       1)                       # MODKEY + 2 切换到2号工作区
	TAGKEYS(                        XK_3,                       2)                       # MODKEY + 3 切换到3号工作区
	TAGKEYS(                        XK_4,                       3)                       # MODKEY + 4 切换到4号工作区
	TAGKEYS(                        XK_5,                       4)                       # MODKEY + 5 切换到5号工作区
	TAGKEYS(                        XK_6,                       5)                       # MODKEY + 6 切换到6号工作区
	TAGKEYS(                        XK_7,                       6)                       # MODKEY + 7 切换到7号工作区
	TAGKEYS(                        XK_8,                       7)                       # MODKEY + 8 切换到8号工作区
	TAGKEYS(                        XK_9,                       8)                       # MODKEY + 9 切换到9号工作区
	{ MODKEY|ShiftMask,             XK_q,       quit,           {0} },                   # MODKEY + Shift + q 退出dwm动态窗口管理器 
...省略的配置信息.... 

二、安装基础应用

1. 安装火狐浏览器

$ sudo pacman -S firefox

但是打开火狐发现有乱码,是因为缺少字体的原因(忘记截图了),安装字体就可以了

2.安装字体

xorg 图形界面常用到的字体:

$ sudo pacman -S ttf-dejavu ttf-droid ttf-hack ttf-font-awesome otf-font-awesome ttf-lato ttf-liberation ttf-linux-libertine ttf-opensans ttf-roboto ttf-ubuntu-font-family  

$ sudo pacman -S ttf-hannom noto-fonts noto-fonts-extra noto-fonts-emoji noto-fonts-cjk 

$ sudo pacman -S adobe-source-code-pro-fonts adobe-source-sans-fonts adobe-source-serif-fonts adobe-source-han-sans-cn-fonts adobe-source-han-sans-hk-fonts adobe-source-han-sans-tw-fonts adobe-source-han-serif-cn-fonts 

$ sudo pacman -S wqy-zenhei wqy-microhei  

3.安装 fcitx5 输入法

$ sudo pacman -S fcitx5-im fcitx5-chinese-addons              #安装输入法引擎及中文模块
$ sudo vim /etc/pacman.conf                                   #编辑/etc/pacman.conf在最后添加archlinuxcn源,此源包括下面需要安装的2个离线词库
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
$ sudo pacman -Syy                                            #同步镜像源
$ sudo pacman -S archlinuxcn-keyring                          #安装访问archlinuxcn镜像源的安全秘钥
$ sudo pacman -S fcitx5-pinyin-zhwiki fcitx5-pinyin-moegirl   #安装常用的2个离线词库
$ sudo pacman -S fcitx5-material-color fcitx5-nord            #安装常用的2个输入法主题包
$ sudo vim /etc/environment                                   #配置输入法环境变量,添加下面的配置信息
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
INPUT_METHOD=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

Mod1 + p ,并在上边出现的工具条中输入fcitx5-configtool,按回车配置输入法信息。

4. 配置dwm启动时自动加载项

如不配置,dwm窗口的当前分辨率为1024x768,需调整为自动加载,先看看命令如何设置:

$ xrandr -q
$ xrandr --output Virtual-1 --mode 1920x1080 --rate 60.00    #修改显示器屏幕分辨率及刷新率,但重启失效

dwm可以设置一个背景,如下可实现:

$ sudo pacman -S archlinux-wallpaper
$ feh --bg-fill --randomize /usr/share/backgrounds/archlinux/*   #添加背景,但重启失效

结合上面的配置,将其添加到自动加载:

$ sudo vim ~/.xinitrc   #在exec dwm 前添加3行,注意先修改分辨率,否则背景会不全屏。

fcitx5 &                                                            #启动dwm时,自动启动fcitx5输入法
xrandr --output Virtual-1 --mode 1920x1080 --rate 60.00             #修改显示器屏幕分辨率及刷新率   
feh --bg-max --randomize /usr/share/backgrounds/archlinux/*         #添加背景

exec dwm

效果图

在这里插入图片描述

三、个性化配置

    +------+----------------------------------+--------+
    | tags | title                            | status |
    +------+---------------------+------------+--------+
    |                            |                     |
    |                            |                     |
    |                            |                     |
    |                            |                     |
    |          master            |        stack        |
    |                            |                     |
    |                            |                     |
    |                            |                     |
    |                            |                     |
    +----------------------------+---------------------+

1. 状态栏基础配置:

状态栏包括左侧的工作区,窗口排列布局,当前窗口信息等。

1)配置(符号)字体

要想在dwm中显示较为漂亮的字体(如符号字体),需要先安装某些符号字体图库。

这里我们添加文泉驿等宽微米黑、以及Nerd符号字体到dwm中。由于文泉驿字体在之前的步骤已经配置,这里只要安装nerd符号字体图库

$ sudo pacman -S ttf-nerd-fonts-symbols  #安装nerd符号字体图库,官网:https://www.nerdfonts.com/

查看一下2个字体的名称

$ fc-list | grep WenQuan
/usr/share/fonts/wenquanyi/wqy-zenhei/wqy-zenhei.ttc: WenQuanYi Zen Hei Mono,文泉驛等寬正黑,文泉驿等宽正黑:style=Regular
/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc: WenQuanYi Micro Hei,文泉驛微米黑,文泉驿微米黑:style=Regular
/usr/share/fonts/wenquanyi/wqy-zenhei/wqy-zenhei.ttc: WenQuanYi Zen Hei Sharp,文泉驛點陣正黑,文泉驿点阵正黑:style=Regular
/usr/share/fonts/wenquanyi/wqy-microhei/wqy-microhei.ttc: WenQuanYi Micro Hei Mono,文泉驛等寬微米黑,文泉驿等宽微米黑:style=Regular
/usr/share/fonts/wenquanyi/wqy-zenhei/wqy-zenhei.ttc: WenQuanYi Zen Hei,文泉驛正黑,文泉驿正黑:style=Regular
 
$ fc-list | grep Nerd
/usr/share/fonts/TTF/Symbols-2048-em Nerd Font Complete.ttf: Symbols Nerd Font:style=2048-em

将字体配置信息写入dwm/config.h文件

$ sudo vim ~/dwm/config.h    #找到并修改下方内容,增加WenQuanYi Micro Hei(文泉驿微米黑)中文字体和Symbols Nerd Font字符字体
static const char *fonts[]          = { "monospace:size=12" 
                                        "WenQuanYi Micro Hei:size=12:type=Regular:antialias=true:autohint=true",
                                        "Symbols Nerd Font:pixelsize=16:type=2048-em:antialias=true:autohint=true"};
static const char dmenufont[]       = "monospace:size=12";

/*默认配置
static const char *fonts[]          = { "monospace:size=10" };
static const char dmenufont[]       = "monospace:size=10";

*/

工作区tagging的配置

$ sudo vim ~/dwm/config.h                       #可将数字替换成想要使用的符号字体
/* tagging */
static const char *tags[] = { "", "", "", "", "", "", "", "", "" };
/*默认配置
static const char *tags[] = { "1", "2", "3", "4", "5", "6", "7", "8", "9" };   
*/

窗口排列布局图标配置

$ sudo vim ~/dwm/config.h               #默认的"[]="表示平铺排列;"><>"表示浮动堆叠;"[M]"表示全屏堆叠,其中M表示该工作区有多少层也就是堆叠了多少个工作窗口
static const Layout layouts[] = {
 	{ "模式:",      tile },    /* first entry is default */
	{ "模式:",      NULL },    /* no layout function means floating behavior */
	{ "模式:[M]",      monocle },
};
/* 默认配置
static const Layout layouts[] = {
	/* symbol     arrange function */
	{ "[]=",      tile },    /* first entry is default */
	{ "><>",      NULL },    /* no layout function means floating behavior */
	{ "[M]",      monocle },
};
*/

重新编译(make)和安装(sudo make clean install)dwm

$ cd ~/dwm
$ make && sudo make clean install
2) 配置状态栏颜色
$ sudo vim ~/dwm/config.h  

static const unsigned int borderpx  = 1;        /* 窗口边框大小,为0时无边框 */

static const char col_gray1[]       = "#000000";     #状态条底色
static const char col_gray2[]       = "#FFFFFF";     #当static const unsigned int borderpx不为0时,非活动窗口外边框颜色
static const char col_gray3[]       = "#39C5BB";     #当前非活动的title字体颜色
static const char col_gray4[]       = "#7FFF00";     #当前活动的title字体颜色
static const char col_cyan[]        = "#696969";     #title底色
static const char *colors[][3]      = {
	/*               fg         bg         border   */
	[SchemeNorm] = { col_gray3, col_gray1, col_gray2 },
	[SchemeSel]  = { col_gray4, col_cyan,  col_cyan  },
};
3) 安装slstatus工具

slstatus也是suckless开发的工具,它可以理解为是窗口管理器的状态监视器,能使用WM_NAME或stdin填充状态栏。

$ git clone https://git.suckless.org/slstatus
$ cd slstatus
$ sudo make clean install    #编译安装

$ sudo vim ~/.xinitrc   #在exec dwm 前将slstatus设置为开机启动


fcitx5 -d &
xrandr --output Virtual-1 --mode 1920x1080 --rate 60.00
feh --bg-max --randomize /usr/share/backgrounds/archlinux/*
exec slstatus &

exec dwm

slstatus工具默认只显示日期和时间,如果我们希望在状态栏添加系统常用的监视信息,则需要修改slstatus的配置文件,并重新编译和安装

$ sudo vim config.h 

static const struct arg args[] = {
	/* function format          argument */
	{ run_command, "  %s |", "uname -r | awk -F - '{print $1}'" },
	{ disk_free, "  %s |", "/" },
	{ cpu_perc, " ﬙  %s%% |", NULL},
	{ ram_used, "  %s |", NULL},
	{ run_command, "  %s |", "amixer sget Master | awk -F\"[][]\" '/Left:/{print $2}'"},
    { run_command, "  %s |", "amixer sget Capture | awk -F\"[][]\" '/Left:/{print $2}'"},
	{ datetime, " %s",           "%F %T" },
};

$ make && sudo make clean install    #重新编译和安装

四、声音调节

[hollowman@hollowman dwm]$ amixer sset Master toggle  #静音/关闭静音
[hollowman@hollowman dwm]$ amixer sset Master 5%+ unmute   #音量+5%
[hollowman@hollowman dwm]$ amixer sset Master 5%- unmute   #音量-5%

五、笔记本电脑屏幕亮度调节

sudo pacman -S light

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1261220.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

32 - MySQL调优之事务:高并发场景下的数据库事务调优

数据库事务是数据库系统执行过程中的一个逻辑处理单元&#xff0c;保证一个数据库操作要么成功&#xff0c;要么失败。谈到他&#xff0c;就不得不提 ACID 属性了。数据库事务具有以下四个基本属性&#xff1a;原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Con…

深入了解PBKDF2加密技术:原理与实践

摘要&#xff1a;本文详细介绍了PBKDF2&#xff08;Password-Based Key Derivation Function 2&#xff09;加密技术&#xff0c;包括其原理、算法流程和实际应用&#xff0c;旨在帮助读者更好地理解这一重要的加密方法。 PBKDF2在线加密 -- 一个覆盖广泛主题工具的高效在线平…

算法通关村第十二关-黄金挑战字符串冲刺题

最长公共前缀 描述 : 编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀&#xff0c;返回空字符串 ""。 题目 : LeetCode 14.最长公共前缀 : 分析 : 第一种方式&#xff0c;我们可以竖着比较&#xff0c;如图所示&#xff0c;每前进一个位置就…

css实现鼠标移入背景图片变灰并浮现文字的效果

首先上效果图 说明一下我的html结构 如上图是一个div包裹的img标签, div的块大小width, height 自己定义, 我说明一下核心样式代码 下面写法是scss, 请自行替换 .web-query-image {position: relative; // 相对定位, 方便浮现文案进行绝对定位border-radius: 8px;box-sizing: …

MySQL安装与配置教程

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

14、矩阵键盘

矩阵键盘介绍 在键盘中按键数量越多时&#xff0c;为了减少I/O口的占用&#xff0c;通常将按键排列成矩阵形式 采用逐行或逐列的“扫描”&#xff0c;就可以读出任何位置按键的状态 扫描的概念 数码管扫描&#xff08;输出扫描&#xff09; 原理&#xff1a;显示第1位—&g…

【力扣】907.子数组的最小值之和

【力扣】907.子数组的最小值之和 文章目录 【力扣】907.子数组的最小值之和1. 题目介绍2. 解法2.1 方法一&#xff1a;单调栈2.2 方法二&#xff1a;动态规划 3. Danger参考 1. 题目介绍 给定一个整数数组 arr&#xff0c;找到 min(b) 的总和&#xff0c;其中 b 的范围为 arr …

蓝桥杯第100 题 九宫幻方 DFS 全排列 C++ 解题思维

题目 九宫幻方https://www.lanqiao.cn/problems/100/learning/?page1&first_category_id1&name%E4%B9%9D 思路和解题方法 一 &#xff08;DFS) 首先&#xff0c;定义了一些全局变量和数组。vis数组用于标记已经出现过的数字&#xff0c;a数组用于存储数独的初始状态…

A start job is running for Hold unt…s up (1d 18h 52min 25s / no limit) 如何去掉

在host串口里一直出现打印 A start job is running for Hold unt…s up (1d 18h 52min 25s / no limit) 这个是有一个进程一直在执行中&#xff0c;那么是什么呢&#xff1f;因为我的host通过SSH连接后就可以进入host shell界面了。那这个线程是什么程序导致的呢&#xff1f; …

Windows全系列 本地密码暴力破解

首先 咱们要准备两个工具&#xff1a; 第一个是 pwdump-master 第二个是 saminside_softradar-com.exe这两个工具 我会一并上传 需要的同学 可以自取本文章操作思路是&#xff1a; 第一步 首先把我刚刚提到的两个软件 以某种手段放置于机器中 如果是真实机 就用U盘 拷贝到真实机…

力扣 hot100 最小覆盖子串 滑动窗口 字符计数

&#x1f468;‍&#x1f3eb; 题目地址 &#x1f37b; AC code class Solution {public String minWindow(String s, String t){int n s.length();int m t.length();if (n < m)return "";char[] tt t.toCharArray();int[] cnt new int[128];// 字符计数数组…

NOIP2007提高组第二轮T3:矩阵取数游戏

题目链接 [NOIP2007 提高组] 矩阵取数游戏 题目描述 帅帅经常跟同学玩一个矩阵取数游戏&#xff1a;对于一个给定的 n m n \times m nm 的矩阵&#xff0c;矩阵中的每个元素 a i , j a_{i,j} ai,j​ 均为非负整数。游戏规则如下&#xff1a; 每次取数时须从每行各取走一…

【扩散模型】DDIM从原理到实战

DDIM从原理到实战 1. DDIM简介2. 实战DDIM2.1 载入一个预训练过的pipeline2.2 DDIM采样2.3 反转&#xff08;invert&#xff09; 3. 组合封装参考资料 DDPM过程的一个问题是在训练后生成图像的速度。当然&#xff0c;我们可能能够生成令人惊叹的图像&#xff0c;但生成一张图像…

【算法】NOIP2003神经网络

题目描述 人工神经网络&#xff08;Artificial Neural Network&#xff09;是一种新兴的具有自我学习能力的计算系统&#xff0c;在模式识别、函数逼近及贷款风险评估等诸多领域有广泛的应用。对神经网络的研究一直是当今的热门方向&#xff0c;兰兰同学在自学了一本神经网络的…

pycharm安装PyQt5及其工具

PyCharm安装PyQt5及其工具&#xff08;Qt Designer、PyUIC、PyRcc&#xff09;详细教程_pycharm pyqt5-CSDN博客 上面是原文链接&#xff0c;根据原文链接&#xff0c;我重新记录一下。IDE&#xff1a;pycharm 2023.2.5 一共需要安装5个。 在PyCharm中如何完整优雅地安装配置…

ESP32-Web-Server编程- JS 基础 3

ESP32-Web-Server编程- JS 基础 3 概述 本示例演示通过 button 控件的 onclick 内联属性&#xff0c;实现在网页上点击按钮&#xff0c;切换 LED 灯图标的转变。 示例解析 前端设计 前端代码建立了一个 id 为 “imageLamp” 的图片对象。并建立两个按钮&#xff0c;设计两…

【WP】Geek Challenge 2023 web 部分wp

EzHttp http协议基础题 unsign 简单反序列化题 n00b_Upload 很简单的文件上传&#xff0c;上传1.php&#xff0c;抓包&#xff0c;发现php内容被过滤了&#xff0c;改为<? eval($_POST[‘a’]);?>&#xff0c;上传成功&#xff0c;命令执行读取就好了 easy_php …

企业软件手机app定制开发趋势|小程序网站搭建

企业软件手机app定制开发趋势|小程序网站搭建 随着移动互联网的快速发展和企业数字化转型的加速&#xff0c;企业软件手机App定制开发正成为一个新的趋势。这种趋势主要是由于企业对于手机App的需求增长以及现有的通用应用不能满足企业特定需求的情况下而产生的。 1.企业软件手…

ensp 启动设备时报40错误,然后一直没有去管,再次进去就好了,我知道是配置虚拟机的时候修改了一些设置:

第一个阶段&#xff1a; 那时我是重置电脑之后就安装了ensp所以没有出现什么问题&#xff0c;&#xff08;那时没有导入ce6800和12800还有防火墙6000&#xff09; 第二个阶段&#xff1a; 因为有华为相关的实验要做&#xff0c;所以心血来潮打开了ensp&#xff08;路由器之前…

Maven Helper插件——实现一键Maven依赖冲突问题

总结/朱季谦 业余在一个SpringBoot项目集成Swagger2时&#xff0c;启动过程一直出现以下报错信息—— An attempt was made to call a method that does not exist. The attempt was made from the following location: ​ springfox.documentation.schema.DefaultModelDepe…