Worker: различия между версиями
Перейти к навигации
Перейти к поиску
lor>Cetjs2 м (Откат правок Abc123456 (обсуждение) к версии Mandala) |
Admin (обсуждение | вклад) м (1 версия импортирована) |
(нет различий)
|
Текущая версия от 21:39, 27 февраля 2023
Собираем Worker
Шрифты
Если в Вашем дистрибутиве Worker вдруг собрали без поддержки XFT, пните мейнтейнера или соберите его сами с --enable-xft (Вам понадобится libxft-dev). Больше никаких кракозябриков и странных шрифтов!
Архивы
При помощи AVFS (которая, в свою очередь, умеет работать с extfs от Midnight Commander) Worker поддерживает много типов архивов (хотя и не идеально). Если её нет в Вашем дистрибутиве, это повод пнуть мейнтейнера.
HAL и UDisks
Worker достаточно современен, чтобы их поддерживать! Пните мейнтейнера или пересоберите его с --with-dbus (Вам понадобится libdbus-glib-1-dev).
Настраиваем Worker
sshfs и другие интересные FUSE
AVFS умеет много всего, но функционал Worker можно расширить ещё, если научить его монтировать разные FUSE во временные директории.
Пример: монтирование (и размонтирование) sshfs
button { position = 42; title = "sshfs"; color = 1,0; shortkeys { normal { key = "s"; mod = mod1; } } commands { ScriptOp { type = if; pushuseoutput = false; dodebug = false; wpurecursive = false; wputakedirs = false; stacknr = 0; iftest = "${awk -v D={p} '($2==D&&$3==\"fuse.sshfs\")' /proc/mounts | wc -l} > 0"; iflabel = "unmount"; wintype = leave; changeprogress = false; changetext = false; progressuseoutput = false; wintextuseoutput = false; } ScriptOp { type = push; pushuseoutput = true; dodebug = false; wpurecursive = false; wputakedirs = false; stacknr = 0; pushstring = "mktemp -d"; wintype = leave; changeprogress = false; changetext = false; progressuseoutput = false; wintextuseoutput = false; } OwnOp { separateeachentry = false; recursive = false; start = terminal; com = "nohup sshfs {Rs{[user@]host:[dir]}{}} {top 0} -p {Rs{Port}{22}} > /dev/null"; viewstr = ""; inbackground = false; takedirs = false; dontcd = false; usevirtualtempcopies = false; } EnterDirOp { dir = "{pop 0}"; mode = special; } ReloadOp { mode = current; resetdirsizes = false; keepfiletypes = false; } ScriptOp { type = end; pushuseoutput = false; dodebug = false; wpurecursive = false; wputakedirs = false; stacknr = 0; wintype = leave; changeprogress = false; changetext = false; progressuseoutput = false; wintextuseoutput = false; } ScriptOp { type = label; pushuseoutput = false; dodebug = false; wpurecursive = false; wputakedirs = false; stacknr = 0; label = "unmount"; wintype = leave; changeprogress = false; changetext = false; progressuseoutput = false; wintextuseoutput = false; } ScriptOp { type = push; pushuseoutput = false; dodebug = false; wpurecursive = false; wputakedirs = false; stacknr = 0; pushstring = "{p}"; wintype = leave; changeprogress = false; changetext = false; progressuseoutput = false; wintextuseoutput = false; } ParentDirOp { } OwnOp { separateeachentry = false; recursive = false; start = normal; com = "fusermount -u {top 0} && rmdir {pop 0}"; viewstr = ""; inbackground = false; takedirs = false; dontcd = false; } ReloadOp { mode = current; resetdirsizes = false; keepfiletypes = false; } } }