Scrot Issue in Sway

Continuing the discussion from January 2022 Screenshot Thread:

Basically using scrot from the terminal produces just a black screenshot. All other GUI screenshot tools fail with no reason given.

No errors given in terminal.

1 Like

Good call concerning sway issues, guess that way they might be easier to solve somehow.

Use grim in wayland.

$ pacman -Si grim
Repository      : community
Name            : grim
Version         : 1.3.2-1
Description     : Screenshot utility for Wayland
Architecture    : x86_64
URL             : https://github.com/emersion/grim
Licenses        : MIT
Groups          : None
Provides        : None
Depends On      : cairo  libjpeg-turbo  wayland
Optional Deps   : None
Conflicts With  : None
Replaces        : None
Download Size   : 13.93 KiB
Installed Size  : 32.12 KiB
Packager        : Alexander Rødseth <rodseth@gmail.com>
Build Date      : Sun 18 Apr 2021 03:20:15 PM EDT
Validated By    : MD5 Sum  SHA-256 Sum  Signature
1 Like

I will check it out to see how it goes. Cheers,

@nwg only option three worked for me.

bindsym Print exec screenshot fullscreen
bindsym Control+Print exec swappy -g "0,0 1920x1080"
bindsym Shift+Control+Print exec grim -g "$(slurp)" - | swappy -f -

printsc just gives me nothing
swappy failes with:

** (swappy:111120): CRITICAL **: 06:44:09.576: original image not loaded

ctrl+shfit+prtsc using Grim works well.

Have you tried just the PrtScr key? There’s a key binding for that.

Try screenshot fullscreen from the terminal and paste the output, please.

Command not found. What application does screenshot relate to?

A script in ~/.local/bin.

Interesting, ~/.local/bin/ is showing in my $PATH in .zprofile (I’m using zsh) but when I run $PATH in the terminal it’s not one of the listed directories.

Haven’t ever used zsh. We need to ask @natemaia for help.

1 Like

@Dobbie03 strange, I didn’t run into this during testing.

Post the contents of your ~/.zprofile

# add ~/.local/bin to the PATH
echo $PATH | grep -q "$HOME/.local/bin:" || export PATH="$HOME/.local/bin:$PATH"

for reference the output of PATH

zsh: no such file or directory: /usr/local/bin:/usr/bin

Something is very wrong, there should be a lot more content in echo $PATH than just two directories.

What’s in /etc/profile maybe I fucked it up.

Once I see what’s in there you can add it to /etc/profile

PATH="/home/YOUR_USER/.local/bin:$PATH"
export PATH

Be sure you replace the user bit with your username.

Not exactly ideal but idk wtf happened to your session.

1 Like

/etc/profile

# /etc/profile

# Set our umask
umask 022

# Append "$1" to $PATH when not already in.
# This function API is accessible to scripts in /etc/profile.d
append_path () {
    case ":$PATH:" in
        *:"$1":*)
            ;;
        *)
            PATH="${PATH:+$PATH:}$1"
    esac
}

# Append our default paths
append_path '/usr/local/sbin'
append_path '/usr/local/bin'
append_path '/usr/bin'

# Force PATH to be environment
export PATH

# Load profiles from /etc/profile.d
if test -d /etc/profile.d/; then
	for profile in /etc/profile.d/*.sh; do
		test -r "$profile" && . "$profile"
	done
	unset profile
fi

# Unload our profile API functions
unset -f append_path

# Source global bash config, when interactive but not posix or sh mode
if test "$BASH" &&\
   test "$PS1" &&\
   test -z "$POSIXLY_CORRECT" &&\
   test "${0#-}" != sh &&\
   test -r /etc/bash.bashrc
then
	. /etc/bash.bashrc
fi

# Termcap is outdated, old, and crusty, kill it.
unset TERMCAP

# Man is much better than us at figuring this out
unset MANPATH
# add ~/.local/bin to the PATH
echo $PATH | grep -q "/home/dobbie/.local/bin:" || export PATH="/home/dobbie/.local/bin:$PATH"

Now a disclaimer, I installed every de/wm and package in the list from the installer when testing so maybe that may have had an impact?

Did this ever get sorted? Did adding it to /etc/profile put it on the path for your user?

I already have PATH="/home/YOUR_USER/.local/bin:$PATH"in etc/profile. Either way I ran export PATH in the terminal. Ran the screenshot command from the terminal again and all is working.

1 Like