如何实现仅在桌面背景层显示大字体时钟(避免显示在应用程序上层)
嘿,这个需求我太懂了!之前也帮不少人解决过类似的问题,下面给你几个靠谱的方案,适配不同的桌面环境,你可以根据自己用的系统选:
通用方案(几乎所有桌面环境都能用):用Conky实现
Conky是个轻量的小工具,本来是用来做系统状态监控的,但用来显示大字体时钟完全没问题,核心是把它的窗口层级设为桌面背景层,这样就不会被任何应用窗口挡住。
第一步:安装Conky
根据你的发行版用包管理器安装就行,比如Arch系系统输入:sudo pacman -S conky
Debian/Ubuntu系则输入:sudo apt install conky-all第二步:配置Conky
在你的用户目录下创建配置文件~/.config/conky/conky.conf(如果~/.config/conky文件夹不存在就先新建一个),把下面的配置粘进去,你可以根据喜好修改字体、大小、颜色、位置这些参数:conky.config = { own_window = true, own_window_type = 'desktop', # *关键配置:把窗口设为桌面层级,会在背景之上、应用之下* own_window_transparent = true, # 让Conky窗口背景透明,只显示时钟文字 own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager', alignment = 'middle_middle', # 时钟默认放在屏幕正中间,也可以选top_left、bottom_right等 font = 'Noto Sans:size=72', # 字体和字号,换成你喜欢的字体名称就行 use_xft = true, xftalpha = 1, text_buffer_size = 2048, update_interval = 1, # 每秒更新一次时间,保证时钟精准 color1 = '#ffffff', # 字体颜色,这里是白色,你可以换成任意十六进制色值 }; conky.text = [[ ${time %H:%M:%S} # 显示时分秒,需要日期的话可以加一行${time %Y-%m-%d} ]];第三步:启动并设置开机自启
保存配置后,在终端输入conky就能启动了,你会看到大字体时钟稳稳地在桌面背景上,打开任何应用都会自动覆盖它。如果想让它开机自动启动,只要把conky添加到你桌面环境的开机启动项里就好。
KDE Plasma专属方案:用原生桌面组件
如果你用的是KDE Plasma桌面,那直接用原生组件更省心,完全不用额外装工具:
- 右键桌面空白处,选择「添加桌面组件」;
- 在组件列表里找到「数字时钟」,点击添加到桌面;
- 右键添加好的时钟,选择「配置数字时钟」,在「外观」选项里把字体调到你想要的大尺寸,位置可以随便拖到屏幕任何地方;
- 这样设置后,这个时钟属于桌面背景层级,打开应用窗口后会自动被覆盖,完全不会影响你用其他程序。
GNOME桌面方案
GNOME桌面下,最稳妥的还是用上面的Conky通用方案,只要配置里的own_window_type = 'desktop'没错,启动后就能正常工作。如果你不想用Conky,也可以找支持在壁纸上显示时钟的GNOME扩展,不过Conky的自由度更高,字体、样式、位置都能随心所欲调整。
备注:内容来源于stack exchange,提问作者user1064125

