debian下wayfire截图的解决方案 接近完美

全文基于debian12 默认源。

# 基本安装

1
2
3
4
apt install wayfire waybar seatd swaylock swayidle wlogout kanshi mako-notifier wlsunset wofi   swaybg brightnessctl
apt install  xdg-desktop-portal xdg-desktop-portal-gtk xdg-desktop-portal-wlr
apt install  xwayland
apt install fonts-font-awesome # 字体
  • waybar 非必须,可以用 polybar 替代
  • wlsunset 暖色配置工具 非必需
  • wofi 可以用 rofi替代

# 配置文件

默认的

1
2
3
4
5
cp /usr/share/doc/wayfire/examples/wayfire.ini  ~/.config/wayfire.ini
mkdir -p ~/.config/waybar/
cp /etc/xdg/waybar/config ~/.config/waybar/
cp /etc/xdg/waybar/style.css ~/.config/waybar/
mkdir -p ~/.config/kanshi && touch ~/.config/kanshi/config

更多配置文件这里不在说,wayfire的配置较为简单

# warbar 跟随wayfire 启动

添加或者编辑 ~/.config/wayfire.ini

1
2
[autostart]
bar = waybar

waybar 的配置和polybar非常接近,只是多了一个css文件,更加灵活漂亮。这里也不多说,网上有很多现成的可以参考一下。

# 截图方案

目前最新版本 flameshot 12.1.0 在 wayfire 没办法正常使用。 需要自己处理搞定截图部分。分三步 1、选区(slurp) 2、 截图(grim) 3编辑(swappy ksnip photoflare GIMP)。

1
apt install slurp grim ksnip

写一个bash文件,然后在 wayfire.ini 绑定快捷键即可

1
2
3
4
#!/bin/sh
NOW=$(date +"%Y-%m-%d-%H%M%S")
grim -g "$(slurp )" -t png $HOME/Pictures/grim-$NOW.png
ksnip $HOME/Pictures/grim-$NOW.png

上面代码ksnip ,实际测试 在ksnip内复制到剪切板的时候会丢失突破的下半部分 并且无法粘贴到linuxqq。photoflare kolourpaint 也存在这个问题。 swappy 目前没有deb的包,需要自己编译,我没有测试。 如果可以接受GIMP的启动速度 和繁琐不方便的,可以用GIMP来替代上面的 ksnip。但是因为gimp启动实在太慢了,如果要频繁截图就不要关闭gimp了。

# 解决粘贴板

因为上面的方案在粘贴到qq的时候会丢失内容并且无法发送,粘贴到别处也会丢内容。所以有了下面的方案

1
apt install wl-clipboard

然后 修改ksnip 配置项 1、关闭 单势力 2、关闭 关闭和最小化的系统托盘。 工作拆解

1
2
3
4
5
SAVEPATH=$HOME/Pictures/screenshot && mkdir -p $SAVEPATH # 截图临时储存目录
NOW=$(date +"%Y-%m-%d-%H%M%S") && grim -g "$(slurp )" -t png $SAVEPATH/grim-$NOW.png # 截图选区到临时目录
ksnip $SAVEPATH/grim-$NOW.png #编辑
wl-copy < $SAVEPATH/grim-$NOW.png  #复制到剪切板
find "$SAVEPATH" -type f -mtime +3 -exec rm {} + #删除3天前的文件

~/.config/wayfire.ini

1
2
3
[command]
binding_screenshot = <super>  KEY_P
command_screenshot = SAVEPATH=$HOME/Pictures/screenshot && mkdir -p $SAVEPATH && NOW=$(date +"%Y-%m-%d-%H%M%S") && grim -g "$(slurp )" -t png $SAVEPATH/grim-$NOW.png && ksnip $SAVEPATH/grim-$NOW.png && wl-copy < $SAVEPATH/grim-$NOW.png && find "$SAVEPATH" -type f -mtime +3 -exec rm {} +

使用方法 按下 win+p 或者你自己修改的热键。 选区 截图 会自动打开 ksnip ,标注 保存(ctrl+s),然后关闭 ksnip (alt+f4 | win+q | win+ shift+q) 或者直接关闭 ,或者关闭提示保存修改的时候回车。

# 进阶思路

# 自动上传到图床

上面的shell很简单了,也可以用rclone或者curl上传到图床并返回md代码到剪切板。ksnip也自带这个功能。 这里就不啰嗦了。

# 不保存临时文件

路径放到 /tmp 或者 /dev/shm 就好了。或者自定义ctrl+v 并删除临时文件也行。

# 录屏方案

目前 wayfire 只能 全屏录制,好像没有别的办法。

1
apt install obs-studio

因为我几乎用不到,所以没有去寻找其他方案。但是简单想一下,应该是可以用wayvnc功能 在x11下录制的 哈哈。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计