sxiv (Русский)

Состояние перевода:
На этой странице представлен перевод статьи
sxiv
. Дата последней синхронизации: 7 августа 2025. Вы можете
помочь
синхронизировать перевод, если в английской версии произошли
изменения
.
Ссылки по теме
feh (Русский)
sxiv
(Simple
X
Image Viewer) — это обозреватель изображений, написанный на языке
C
. Он нетребователен к ресурсам, а также поддерживает скрипты.
Установка
Установите
один из следующих пакетов:
nsxiv
, форк ныне неразвиваемого
sxiv
, стремящийся быть (почти) прозрачной заменой sxiv, поддерживать его интерфейс и добавлять простые, разумные возможности. Разрабатываемая версия доступа в пакете
nsxiv-git
AUR
.
sxiv
, исходный пакет.
Использование
Назначение горячих клавиш
Вы можете использовать сторонний скрипт для обработки сочетаний клавиш в
sxiv
. Для этого нажмите
Ctrl-x
и еще одну клавишу. Она будет передана в сторонний скрипт. Этот скрипт должен находиться в файле
~/.config/sxiv/exec/key-handler
. Он принимает комбинацию нажатых клавиш в качестве аргумента, а имена выделенных изображений — через stdin. Если ни одно изображение не выбрано, то скрипт получит то изображение, что сейчас на экране. Пример такого скрипта-обработчика можно найти в
/usr/share/sxiv/exec/key-handler
. Его можно взять за основу, когда будете создавать собственный.
$ mkdir -p ~/.config/sxiv/exec/
$ cp /usr/share/sxiv/exec/key-handler ~/.config/sxiv/exec/key-handler
Не забудьте сделать скрипт
исполняемым
.
В приведённом ниже примере комбинация
Ctrl+d
будет выполнять команду
mv
имя_файла
~/.trash
,
Ctrl+c
будет копировать имена выбранных изображений в буфер обмена, а
Ctrl+w
будет устанавливать фон рабочего стола через
nitrogen
. Конечно же некоторые команды имеют смысл только для одного изображения. Что делать, если в скрипт передано несколько изображений, решайте сами.
~/.config/sxiv/exec/key-handler
#!/bin/sh
while read file
do
        case "$1" in
        "C-d")
                mv "$file" ~/.trash ;;
        "C-r")
                convert -rotate 90 "$file" "$file" ;;
        "C-c")
                echo -n "$file" | xclip -selection clipboard ;;
        "C-w")
                nitrogen --save --set-zoom-fill "$file" ;;
        esac
done
Если у вас нет каталога
.trash
, его надо создать:
$ mkdir ~/.trash
Совет
Лучше использовать
соответствующую стандартам корзину
[
ссылка недействительна
: раздел не найден]
, чем
mv "$2" ~/.trash
.
Советы и рекомендации
Просмотр всех изображений в каталоге при открытии одного файла
Разработчика
sxiv
несколько раз просили добавить возможность просматривать все изображения, находящиеся в одном каталоге с файлом, что его название было передано в качестве аргумента (смотрите
[1]
и
[2]
). Существуют форки, где такая возможность добавлена:
от doronbehar
,
от qsmodo
и
от sammoth
.
Другой способ — использовать стандартный
sxiv
, но поместить в каталог
/usr/local/bin
этот скрипт
и вызвать его:
$
название_скрипта
изображение.jpg
Как сказано в комментарии ко скрипту, его можно использовать внутри файлового обозревателя
ranger
.
А этот скрипт с
[3]
запускает
sxiv
в режиме предпросмотра (thumbnail mode) только в том случае, если переданный аргумент — имя каталога:
~/bin/sxiv.sh
#!/bin/sh

    if command -v sxiv >/dev/null 2>&1; then
      if [ -d "${@: -1}" ] || [ -h "${@: -1}" ]; then
        sxiv -t "$@"
      else
        sxiv    "$@"
      fi
    elif command -v feh >/dev/null 2>&1; then
      feh "$@"
    else
      echo "Please install SXIV or FEH!"
    fi
Отображение размера изображения на нижней панели
Установите пакет
exiv2
, создайте приведённый ниже скрипт и сделайте его
исполняемым
:
~/.config/sxiv/exec/image-info
#!/bin/sh

# Это пример скрипта ~/.config/sxiv/exec/image-info
# sxiv(1) вызывает его каждый раз, когда загружает какое-либо изображение,
# а его название передаёт как первый аргумент.
# Вывод скрипта отображается на панели статуса.

s=" | " # разделитель между полями

filename=$(basename "$1")
filesize=$(du -Hh "$1" | cut -f 1)

# «[0]» обозначает первый кадр мультикадрового файла, например, gif-анимации.
geometry=$(identify -format '%wx%h' "$1[0]")

tags=$(exiv2 -q pr -pi "$1" | awk '$1~"Keywords" { printf("%s,", $4); }')
tags=${tags%,}

echo "${filesize}${s}${geometry}${tags:+$s}${tags}${s}${filename}"
Смотрите также
Обсуждение
на форуме Arch Linux.
Sxiv для раскладки
bépo
(это раскладка в стиле
Dvorak
, но для французского):
Sxiv bépo
.