Ubuntu桌面壁纸被替换为白屏

这个问题昨晚出现的吧,刚刚被我解决掉了,记录一下解决的过程。 问题描述 就是下面这样: 但是我打开应用面板的时候又是正常显示的: 解决过程 最开始的时候是我的nautilus里面的icon不能按照我配置的GTK的主题来显示了,就显示的是很普通那种icon,然后我想着这种问题应该log out一下再回来就可以了,问题不大。 结果我log out之后,就出现了上面这种问题,我一下不知道怎么弄了。理所当然的就去google: “ubuntu24.04 desktop show white”、“ubuntu24.04 wallpaper show whole white"这种搜索,然后到askubuntu包括reddite等论坛看了很多帖子,都没法解决我的问题。 然后当然我也重启了很多次,也没用当然,但是重启后打开桌面会显示下面的这个东西: 就是可以看到,有一个叫 “@!0,0;BDHF” 的东西把我的桌面壁纸给覆盖掉了,我昨天没有很在意这个,然后就是瞎折腾了半天解决不了。 今天我又看到这个,我想我搜了那么多都搜不到,为啥不直接检索这个 “@!0,0;BDHF” 看看能不能搜索出来啥东西呢?但我说实话,这个东西我也不陌生,就是之前很莫名奇妙会出现的一个我的桌面icon的重影,我也不知道怎么关掉的,但是不影响我的正常使用,我也就一直没管。 结果一搜还真给我搜出来了1,askubuntu上面的一个帖子,然后其实问题就出在Desktop Icons Next Generation (DING)这个gnome-shell extension上面,当然我也不知道原理是啥,我就把这个extension给disable了,一切就恢复正常了! What is @!0,27;BDH and why does it keep me stuck in activites overview mode? https://askubuntu.com/questions/1342245/what-is-0-27bdh-and-why-does-it-keep-me-stuck-in-activites-overview-mode  ↩︎

发布于 2025-12-27 · 上次修改 2025-12-27 · 1 分钟 · 46 字 · 流逝光

Linux字体配置

字体 检查已安装字体: fc-list 字体文件夹:/usr/share/fonts、/home/username/.local/share/fonts、/home/username/.fonts 全局安装字体 确保/usr/share/fonts目录存在 将已经下载的字体文件(ttf、otf)复制到/usr/share/fonts目录中:sudo cp *.ttf /usr/share/fonts 为了让系统识别新字体,运行以下命令更新字体缓存:sudo fc-cache -f -v 当前用户安装字体 确保~/.fonts目录存在 将下载的字体文件复制到~/.fonts目录中:cp *.ttf ~/.fonts 为当前用户的字体更新字体缓存:fc-cache -f -v

发布于 2025-12-15 · 上次修改 2025-12-15 · 1 分钟 · 22 字 · 流逝光

Nginx单域名部署多项服务

这个需求其实非常的自然而然,我刚学会nginx反向代理部署服务的时候,就有这个需求:我就这一个域名,我怎么在这个域名下,部署我的多项服务?二级访问目录并不是一个好方法,主要是因为直接对该域名下的目录进行了绑定,对绑定在根域名…

发布于 2025-10-16 · 上次修改 2026-01-14 · 1 分钟 · 72 字 · 流逝光

Nginx配置SSL

1. 下载SSL证书 在SSL服务提供商处,下载Nginx(适用大部分场景)(pem文件、crt文件、key文件)格式的SSL证书 2. 安装SSL证书到Nginx服务器 前置:为Nginx安装好SSL模块 nginx -V 2>&1 | grep -o -- '--with-http_ssl_module' 执行以下命令,若输出--with-http_ssl_module则说明已安装 SSL 模块,否则需进行安装。 a. 将domain.key和domain_bundle.crt文件放在服务器/etc/nginx/cert中 b. 添加监听443端口的server块 server { listen 443 ssl default_server; server_name yourdomain.com www.yourdomain.com; # ======================= 证书配置开始 ======================= # 指定证书文件(中间证书可以拼接至该pem文件中),请将 /etc/nginx/cert/ssl.crt 替换为您实际使用的证书文件的绝对路径 ssl_certificate /etc/nginx/cert/ssl.crt; # 指定私钥文档,请将 /etc/nginx/cert/ssl.key 替换为您实际使用的私钥文件的绝对路径 ssl_certificate_key /etc/nginx/cert/ssl.key; # 指定允许的 TLS 协议版本,TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差 ssl_protocols TLSv1.2 TLSv1.3; # 自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置) ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; # 优先使用服务端指定的加密套件 ssl_prefer_server_ciphers on; # 配置 SSL 会话缓存,提高性能 ssl_session_cache shared:SSL:1m; # 设置 SSL 会话超时时间 ssl_session_timeout 5m; # ======================= 证书配置结束 ======================= # 其它配置 ... } c. 可选:设置 http 请求自动跳转到 https。在原有监听 80 端口的 server 块中添加 return 指令即可。 ...

发布于 2025-10-16 · 上次修改 2025-10-16 · 1 分钟 · 124 字 · 流逝光

循环神经网络

RNN RNN1(Recurrent Neural Network)是一种循环神经网络,用于处理序列数据。与传统的前馈神经网络不同,RNN具有循环连接,使得它可以在处理序列时保持一种记忆状态。 在 RNN 中,每个时间步都有一个隐藏状态(hidden state),它可以接收当前时间步的输入和上一个时间步的隐藏状态作为输入。隐藏状态的输出不仅取决于当前时间步的输入,还取决于之前所有时间步的输入。这种循环连接使得RNN可以处理变长序列,并且能够捕捉到序列中的时序信息。 RNN 的计算过程非常简单: $$ h_{t}=f(w_{hh}h_{t-1} + w_{xh}x_t) $$ RNN 在自然语言处理(NLP)等领域有广泛的应用,例如语言建模、机器翻译、情感分析等任务。由于 RNN 能够处理变长序列,并且可以保持记忆状态,它在处理自然语言时可以考虑上下文的信息,捕捉到词语之间的依赖关系和语义信息。 此外,RNN 也可以应用于时间序列预测,例如股票价格预测、天气预测等。RNN 可以根据过去的时间序列数据预测未来的趋势,对于具有时序依赖的数据具有一定的优势。 然而,传统的RNN在处理长序列时存在梯度消失和梯度爆炸的问题,这限制了其对长期依赖关系的建模能力。为了解决这个问题,出现了一些改进的 RNN 变体,如长短期记忆网络(LSTM)和门控循环单元(GRU),它们引入了门控机制来控制记忆状态的更新,改善了对长期依赖的建模能力。 LSTM LSTM2(Long Short-Term Memory)是一种改进的循环神经网络(RNN)架构,旨在解决传统 RNN 中的梯度消失和梯度爆炸问题,以及增强对长期依赖关系的建模能力。 LSTM 引入了一个记忆单元(memory cell),该单元可以存储和访问信息,并通过门控机制来控制信息的流动。LSTM 的关键部分包括输入门(input gate)、遗忘门(forget gate)、输出门(output gate)。 遗忘门(forget gate) LSTM 的第一步就是决定我们要从单元状态中丢弃什么信息。这个决定由一个 sigmoid 层做出,称为“遗忘门层(forget gate layer)”。它查看 $h_{t-1}$ 和 $x_t$,并且为单元状态 $C_{t-1}$ 中的每个数字输出一个 0 和 1 之间的数字。1 代表“完全保持这个数字”,而 0 表示“完全遗忘”。 回到我们语言模型的例子,试图根据所有以前的单词来预测下一个单词。在这样的问题中,单元状态可能包括当前主题(subject)的性质,从而可以使用正确的代词。当我们看到一个新主题时,我们想要忘记老主题的性质。 输入门(input gate) 下一步是决定我们要在单元状态下存储的新信息。这包含两部分。首先,一个称为“输入门层(input gate layer)”的 sigmoid 层决定我们将更新哪些值。然后,一个 tanh 层创建一个可以被添加到状态中的新候选值向量 $\tilde{C_{t}}$ 。在下一步中,结合这两个门来创建对状态的更新。 现在是将旧的单元状态 $C_{t-1}$ 更新为新的单元状态 $C_t$ 的时候了。以前的步骤已经决定了要做什么,我们只需要实际去做就行了。 ...

发布于 2025-10-11 · 上次修改 2025-12-14 · 1 分钟 · 111 字 · 流逝光

Linux休眠机制

基础 广义来讲,在Linux中支持 三种睡眠模式 ,分别是: Suspend to RAM,即狭义的挂起(Suspend),本文后面提到挂起都是指这种模式。 Suspend to Disk,即我们常说的休眠(Hibernate)。 Suspend to Both,也被称作Hybrid Suspend,是上面两种模式的混合,兼具两种模式的优点(和缺点)。 Ubuntu桌面版默认只有挂起(Suspend)模式,没有启用休眠(Hibernate)模式。 挂起和休眠的目标都是保存冻结系统当前状态,后续需要时“快速”唤醒恢复,但是两者的实现方式是不同的。 挂起时系统的运行数据仍然保存在内存(RAM,通常也叫MEM)中,所以系统还是会以较低的功耗消耗电池电量。这种状态下唤醒系统恢复非常快速,在普及SSD的现在是包括苹果在内很多操作系统的默认选项。 休眠时系统的运行数据被写入磁盘(DISK),系统也会完全切断电源(大部分情况下),唤醒时需要先从硬盘读取数据到内存,因为恢复速度比挂起慢,实测甚至要慢于开机(20s vs 10s)。 休眠的好处就是笔记本实际是关机状态,完全不耗电不发热,不用担心意外断电、进水和误触键盘唤醒系统,可以放心的携带和保存。 Linux底层有两种实现来支持挂起和休眠,一种是内核(kernel)自带的swsusp,另一种是uswsusp(‘Userspace Software Suspend’) ,后者封装了前者,并且提供了更多的功能,通常swsusp已经够用了。 swsusp的原理是向/sys/power目录中的文件写入特定的状态字符串来操作系统的状态。 最重要的是/sys/power/state、/sys/power/mem_sleep、/sys/power/disk三个文件,分别保存了当前系统支持的睡眠模式、挂起方法、休眠方法,具体信息可以参考 官方文档 Systemd工具提供了睡眠管理的高级命令systemctl suspend、systemctl hibernate、systemctl hybrid-sleep。 配置 配置/swapfile,启用休眠需要比内存稍大的swap空间,推荐使用swapfile,从2.4内核开始, swapfile的性能已经不弱于swap分区,并且更容易调整大小,如果使用btrfs文件系统,需要内核升级到5.0以上才支持swapfile # 先关闭已有的swap空间 sudo swapoff -a # 分配连续的磁盘空间,fallocate比dd命令更安全快速,空间大小参考后面的表格 sudo fallocate -l 20G /swapfile # 修改权限 sudo chmod 600 /swapfile # 启用swapfile sudo mkswap /swapfile sudo swapon /swapfile # 确认结果 sudo swapon --show free swap文件的大小可以参考下面的表格: 内存 关闭休眠时swap空间大小 启用休眠时swap空间大小 最大swap空间大小 4GB 2GB 6GB 8GB 8GB 3GB 11GB 16GB 12GB 3GB 15GB 24GB 16GB 4GB 20GB 32GB 24GB 5GB 29GB 48GB 32GB 6GB 38GB 64GB 64GB 8GB 72GB 128GB 文件系统启动时挂载/swapfile echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab 配置启动内核参数 # 查看swapfile的UUID sudo findmnt -no UUID -T /swapfile # 查看swap_file_offset,忽略..符号 sudo filefrag -v /swapfile | awk '{ if($1=="0:"){print substr($4, 1, length($4)-2)} }' # 编辑grub文件 sudo nano /etc/default/grub # 将grub文件中GRUB_CMDLINE_LINUX_DEFAULT参数修改为如下形式 # 其中UUID和resume_offset的值更换为上面两个命令的输出 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=51f8eab4-d775-4020-aace-0e411ef5b8ed resume_offset=34816" # 保存退出,然后更新grub配置 sudo update-grub # 编辑initramfs sudo nano /etc/initramfs-tools/conf.d/resume # 加入下面一行,UUID替换为实际值 resume=UUID=51f8eab4-d775-4020-aace-0e411ef5b8ed # 保存退出,然后更新initramfs配置 sudo update-initramfs -u # 重启 reboot 重启后执行sudo systemctl hibernate测试是否可以正常休眠。 ...

发布于 2025-05-01 · 上次修改 2025-05-01 · 3 分钟 · 433 字 · 流逝光

CLIP 详解

Alec Radford等人提出Contrastive Language-Image Pre-training (CLIP), 突破了文本-图像之间的限制。CLIP使用大规模的文本-图像配对预训练,并且可以直接迁移到Imagenet上,完全不需要图像标签微调即可实现zero-shot分类。CLIP模型或许会引导CV的发展走向…

发布于 2024-11-18 · 上次修改 2026-01-03 · 2 分钟 · 371 字 · 流逝光