LINUX.ORG.RU

Как закинуть файл в программу без графического файлового менеджера?

 , , ,


1

1

Помню, когда сидел на linux MX, удалил графический файловый менеджер, так как подсел на ranger. Но столкнулся с проблемой, что не мог скинуть файлы в разные программы (тот-же firefox или telegram). Они все говорили что-то вроде «не найден файловый менеджер» (точно не помню). Ща перешел на limux mint mate. Хотел бы перейти на ranger полностью, но я даже не представляю, как решить проблему с перекидыванием файлов.

PS: хотел удалить сообщение, но нельзя, так что отмечу как решенную, чтоб люди не тратили свое время.

Перемещено hobbit из general



Последнее исправление: minus4_5 (всего исправлений: 1)

Но столкнулся с проблемой, что не мог скинуть файлы в разные программы (тот-же firefox или telegram). Они все говорили что-то вроде «не найден файловый менеджер» (точно не помню).

А зачем им файловый менеджер, чтобы принять файлы с локальной ФС?

Может вы имели в виду, что они жаловались наоборот при скачивании, т.к. не в чем было файл показать?

Не понимаю.

wandrien ★★
()

все говорили что-то вроде

Когда поймешь точно, что они говорили, тогда и сможешь перекинуть любым файловым менеджером. С большой вероятностью, говорили они о недостаточности прав.

andytux ★★★★★
()
Ответ на: комментарий от andalevor

этот ranger подключать флешки умеет?

Монтирование файловых систем — не задача файлового менеджера. Менеджер файлов управляет файлами, не файловыми системами.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

А кто говорит о монтировании? Лично я бы хотел, чтобы файловый менеджер имел графический интерфейс для общения с тем демоном, который монтирует, потому что заводить для этого отдельный интерфейс очень неудобно.

biglpfan
()
Ответ на: комментарий от mord0d

Монтирование файловых систем — не задача файлового менеджера. Менеджер файлов управляет файлами, не файловыми системами.

Предлагаешь для этого отдельную программу лепить? Это крайне неудобно. Хотя бы потому, что в большинстве случаев люди хотят сразу после монтирования сменного носителя открыть его ФС именно в файловом менеджере. То есть, либо это придётся делать руками, либо делать какой-то протокол для интеграции.

Ну или как в винде/проводнике — после монтирования тупо открывать окно файлового менеджера. Да, для тех, кто файлы умеет только мышой возить, лучше решения, наверное, и нет.

hobbit ★★★★★
()
Ответ на: комментарий от hobbit

Это крайне неудобно.

Do one thing and do it well.

Ты предлагаешь запускать графический файловый менеджер, чтобы примонтировать флэшку, даже если иксы запускать не имеет смысла?

в большинстве случаев люди хотят сразу после монтирования сменного носителя открыть его ФС именно в файловом менеджере

тупо открывать окно файлового менеджера. Да, для тех, кто файлы умеет только мышой возить, лучше решения, наверное, и нет.

Ну то есть ты подписываешься под тем, что современные пользователи Linux ничем не отличаются от пользователей Windows. ☺

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Монтирование файловых систем — не задача файлового менеджера. Менеджер файлов управляет файлами, не файловыми системами.

/dev/sdb1 тоже файл, хочу им управлять.

andalevor ★★★
()
Ответ на: комментарий от mord0d

Do one thing and do it well.

Так надо выкинуть файловые менеджеры совсем. cd, cp, rm, mv… хватит всем.

Ты предлагаешь запускать графический файловый менеджер, чтобы примонтировать флэшку, даже если иксы запускать не имеет смысла?

А монтирование флешки это самоцель, взаимодействовать с файлами на флешке не будем? Так примонтируем, да полюбуемся?

Ну то есть ты подписываешься под тем, что современные пользователи Linux ничем не отличаются от пользователей Windows.

2 руки, 2 ноги, одна голова. Хотя читая ваши посты…

andalevor ★★★
()
Ответ на: комментарий от andalevor

/dev/sdb1

 % ls /dev/sda1
ls: /dev/sda1: No such file or directory

 % ls /dev/sd*
zsh: no matches found: /dev/sd*

хочу им управлять

Ты можешь его переместить, переименовать и даже удалить. Попробуй!

mord0d ★★★★★
()
Последнее исправление: mord0d (всего исправлений: 2)
Ответ на: комментарий от andalevor

cd, cp, rm, mv… хватит всем.

Мне хватает, да.

взаимодействовать с файлами на флешке не будем?

Это может быть не флэшка, а, например, AudioCD, который не представлен в виде файлов.

2 руки, 2 ноги, одна голова.

Проблемы мышей кота не волнуют.

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Мне хватает, да.

Опишите последовательность действий для того чтобы скопировать файл на флешку, мне интересно сравнить с количеством действий для выполнения этой задачи в любом GUI файловом менеджере.

andalevor ★★★
()
Ответ на: комментарий от hobbit

Предлагаешь для этого отдельную программу лепить? Это крайне неудобно. Хотя бы потому, что в большинстве случаев люди хотят сразу после монтирования сменного носителя открыть его ФС именно в файловом менеджере

Уже в Norton commander было «user menu». Например, у меня монтирование выглядит вот так.

andytux ★★★★★
()
Ответ на: комментарий от andalevor

В mc по клавише F2 есть «глобальное» меню пользователя и есть «локальное», если в текущем каталоге находится файл .mc.menu
У меня в /mnt лежит простейший файл

shell_patterns=0

m	Mount current dir
	mount /dev/%f %f

u	Unmount current dir
	umount %f

e	Eject current disk
	eject %f

i	Info mount 
	echo "Current mount point:"
	echo
	mount | grep dev/sd
	echo
	echo "Press Enter to continue"
	read aaaa

l	List fdisk partition
	echo "Fdisk list partition:" 
	/sbin/fdisk -l
	echo "Press Enter to continue"
	read aaaa

Соответствено, жмем f2, затем m и выбранный файл монтируется. Потом f2+u для размонтирования

sigurd ★★★★★
()
Последнее исправление: sigurd (всего исправлений: 2)
Ответ на: комментарий от andytux

У меня тоже mount повешен на F2+m. И 15 лет назад это было идеальное решение.

Вот только в современных линуксах ручное монтирование не особо удобная вещь. Флешек запросто может быть воткнуто несколько, флешки бывают с таблицей разделов и без, диски с NTFS требуют отдельной опции монтирования. Выбор подходящего девайса при этом превращается в квест. Для размонтирования тоже в каких-то случаях нужен sudo, в каких-то не нужен.

Хотелка выше тоже, конечно, не очень удачно сформулирована. Сейчас для ФМ актуально не столько монтировать носители, сколько удобным образом показывать список автосмонтированных носителей с возможностью их тут же размонтировать. В клонах проводника это, как правило, сделано, из двухпанельников нормально работает, имхо, только в Double Commander.

А есть ещё такие недофайловые недосистемы, которые полноценно смонтировать в принципе невозможно, можно лишь сымитировать монтирование. Самый яркий пример — уродский MTP. Из эргономичных ФМ в линуксе с MTP нормально работает опять-таки Double Commander.

Вот что, на мой взгляд, требуется от файлового менеджера по работе с файловыми системами.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 2)

Не понятно, зачем удалять фм, а потом искать костыльное решение. Если привык мышью таскать файлы из окна в окно, то ты явно погорячился.

anonymous
()
Ответ на: комментарий от hobbit

У меня в udev-правиле две строчки:

 ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd[c-z][0-9]", RUN+="/bin/systemctl start usb_mount@%k.service"
 ACTION=="remove", SUBSYSTEM=="block", KERNEL=="sd[c-z][0-9]", RUN+="/bin/systemctl stop usb_mount@%k.service"

и в /bin скрипт:

 #!/bin/bash
#$1 - действие udev (ACTION=="add" или ACTION=="remove")
#$2 - имя блока (sd[c-z][0-9]) #файл для логов
LOG="/var/log/udev"

#имя блока
DEV=$2
#устройство подключили
if [ "$1" = "add" ]; then
    #отметка в логах
    echo "`date` mounting /dev/${DEV}" >> ${LOG}
    #создаём директорию
    [[ -d /media/${DEV} ]] || mkdir /media/${DEV} >> ${LOG} 2>&1
    #даём на неё права всем пользователям
    chmod a+rwx /media/${DEV}
    #монтируем устройство как рут
    mount /dev/${DEV} /media/${DEV} -o umask=0000 >> ${LOG} 2>&1

#устройство отключили
elif [ "$1" = "remove" ]; then
    #отметка в логах
    echo "`date` unmounting /dev/${DEV}" >> ${LOG}
    #размонтируем
    umount /dev/${DEV} >> ${LOG} 2>&1
    #удаляем директорию
    rmdir /media/${DEV} >> ${LOG} 2>&1
fi

Через systemd завязал это всё и мне хватает за глаза. Воткнул - примонтировало. Вытащил - отмонтировало. Комп домашний, нахрен мне что-то ещё?

anonymous
()
Ответ на: комментарий от biglpfan

это типа «я с тобой не разговариваю» ?

Это типа ты ответил на комментарий-ответ про монтирование ответом «не было речи о монтировании».

Я против тебя ничего не имею, но ты меня поставил в тупик своим комментарием. Если мой коммент выглядит как наезд, то это ненамеренно. ☺

mord0d ★★★★★
()
Ответ на: комментарий от sigurd

Если нет каких-то особых требований, то монтирую в /mnt. Но на монтировании построена добрая половина линукса и далеко не все монтируется в /mnt. Самое банальное, автоматом монтируется обычно в /media. Код отмонтирования:

+ t d
= d /m[en][dt]* | f local
Unmount filesystem from selected
  msg_svc='notify'; SRC='/usr/local'
  sync
  for i in %s; do
	case ${i} in
	  *droid|*reg|ftp*|s*mb*|ssh*) util='fusermount'; key='-u'; msg='2';;
 #	  memtest86*)	util='umount'; key='-d'; msg='3';;
	  memtest86*)	umount /dev/loop0p1 && losetup -d /dev/loop0
			util='umount'; key=''; msg='3';;
	  *)		util='umount'; key=''; msg='1';;
	esac
	dest=%d/"${i}"
	${util} ${key} "${dest}"
	case ${?} in
	  0)	msg_svc=''
		case ${msg} in
		  1)	msg="Unmounted from ${dest}";;
		  2)	msg="Unmounted FUSE-fs from ${dest}";;
		  3)	msg="Unmounted losetup from ${dest}";;
		  *)	;;
		esac;;
	  32)	msg="Not unmounted from ${dest} Target busy"; icon='harddisk-warning'; msg_svc='notify';;
	  *)	msg='255';;
	esac
	[ -n "${msg}" ] && if [ -x "${SRC}/bin/avnotify" ]
		  then	if [ -n "${msg_svc}" ]; then opt="--${msg_svc}="; else opt='--std='; fi
			[ -n "${icon}" ] && opt="--icon=${icon} ${opt}"
			[ -n "${lng}" ] && opt="--lng=${lng} ${opt}"
			avnotify ${opt}"$msg" --
		  else echo "\n$msg"
		fi
  done

andytux ★★★★★
()
Ответ на: комментарий от andalevor

Для начала, попроще:

+ t dlr
= t d | f *.[INin][MRSmrs][AGOago] | f [chs][dr]* | D /mnt
Mount selected to other panel
  # chown <username> /dev/loop0 && mount -o loop *.iso /mnt/*.iso
  msg_svc='notify'; UTIL='mount'; SRC='/usr/local'
  for i in %s; do
	msg='1'; src=%d/${i}; dest=%D/${i}
	[ -z "%t" ] && [ -d %D/%F ] && [ %F != ".." ] && dest=%D/%F && version=$(cat /proc/version | cut -d" " -f3)
	[ ! -e "${dest}" ] && mkdir "${dest}"
	if [ -d "${src}" ]
	  then	if [ -e "/lib/modules/${version}/kernel/fs/overlayfs/overlay.ko" ]
		  then	[ -h "${src}" ] && src=$(readlink -f "$src")
			[ ! -e "${src}work" ] && mkdir "${src}work" 2>/dev/null
			if [ -e "${src}work" ]
			  then key="-t overlay -o lowerdir=${dest},upperdir=${src},workdir=${src}work"
			  else key="-t overlay -o lowerdir=${dest}:${src}"
			fi
			src='none'; msg='2'
		  elif	[ -e "/lib/modules/${version}/kernel/fs/aufs/aufs.ko" ] || [ -e "/lib/modules/${version}/kernel/ubuntu/aufs/aufs.ko" ]
			then key="-t aufs -o br:${src}=rw,create=mfs,sum"; src='none'; msg='3'
		  else	key='--bind'
		fi
	  else	case ${i} in
		  casper-rw)	key="-t aufs -o br:${src}=rw,create=mfs,sum"; src='none';;
		  memtest86-usb.img)	losetup -P /dev/loop0 "${src}"
					key=''; src='/dev/loop0p1'
					;;
		  *.[Ii][Mm][Aa]) key='-o loop,offset=512'; msg='4';;
		  *.[Nn][Rr][Gg]) key='-t udf,iso9660 -o loop,ro,offset=307200'; msg='5';;
		  *.[Ii][Ss][Oo]) key='-o loop,ro'; msg='5';;
		  *)		key='-o loop';;
		esac
	fi
	${UTIL} ${key} "${src}" "${dest}"
	case ${?} in
	  0)	case ${msg} in
		  1)	msg="Mounted ${i}
 to ${dest}"; icon='harddisk';;
		  2)	msg="Mounted ${i}
 to ${dest} as overlay"; icon='harddisk-multi';;
		  3)	msg="Mounted ${i}
 to ${dest} as aufs"; icon='harddisk-multi';;
		  4)	msg="Mounted ${i} to ${dest}"; icon='floppy';;
		  5)	msg="Mounted ${i}
 to ${dest} read-only"; icon='cd';;
		  *)	;;
		esac;;
	  32)	msg="${i} not mounted Bad option"; icon='harddisk-warning';;
	  *)	msg='255';;
	esac
	[ -n "${msg}" ] && if [ -x "${SRC}/bin/avnotify" ]
		  then	if [ -n "${msg_svc}" ]; then opt="--${msg_svc}="; else opt='--std='; fi
			[ -n "${icon}" ] && opt="--icon=${icon} ${opt}"
			[ -n "${lng}" ] && opt="--lng=${lng} ${opt}"
			avnotify ${opt}"$msg" --
		  else echo "\n$msg"
		fi
  done

/dev/sdb1 тоже файл, хочу им управлять

При желании, можно монтировать и его, только нужно изменить «условия видимости».

andytux ★★★★★
()
Ответ на: комментарий от andytux

Краткое описание.

Монтирует выбранные (выделенные или на котором стоит указатель) на другую панель. Если на другой панели указатель на каталоге, то монтирует в этот каталог (только для одного объекта). В остальных случаях, создается каталог, с именем монтируемого объекта, и в него монтирует. Монтирует образы (iso, ima, img и т.д.), файлы (casper-rw и т.д.), каталоги и т.д. Для каталогов, если находит оверлейную файловую систему, то монтирует с ее помошью. Если не находит, то обычное монтирование каталога. О результатах выводит сообщение. Если найден скрипт avnotify, то сообщение передается ему (на скриншоте сообщение выведено этим скриптом), если не найден, то передается команде echo.

PS. Довольно недавно добавил монтирование образа memtest-86usb.img. Сейчас попалось на глаза, к файлам добавил live-rw и writable. Из любопытства попробовал, /dev/disk/by-label/*, /dev/sda1 - смонтировались.

andytux ★★★★★
()
28 августа 2023 г.
Ответ на: комментарий от mord0d

Интеллектом, навыками, опытом…

Так так. Самая высокая корона в нашей стране - у Сергея Зверева. Даже в книге рекордов Гиннесса есть.

Признайтесь, вы - это он?

Хотя я наверное что-то напутал, вы ведь не написали, в какую сторону отличаетесь.

utanho ★★★★★
()
Последнее исправление: utanho (всего исправлений: 2)
Ответ на: комментарий от utanho

Do one thing and do it well.

Деревянная палка, обожженная в костре, очень хороша для тыкания в незащищённый бок врага. Больше она ни на что не годится.

Понимаете, о чем я?

К деревянной палке может быть примотан камень, и это уже молоток. Или несколько палок могут быть примотаны к канату, и это уже лестница. Но палка как и прежде выполняет одну функцию — её удобнее держать (в случае с молотком размах больше, сила удара выше; в случае с лестницей — сила трения ниже, эффективность вскарабкивания выше, меньше затрат по силе). Для тыкания врага палку тоже нужно держать, так что функция во всех случаях у неё не меняется. ^_~

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

К деревянной палке может быть примотан камень

Камень очень хорош для раскалывания орехов. Возможно, даже идеален.

Камень, примотанный к палке - жуткий комбайн, к тому же многофункциональный. А вот орехи уже не так удобно колоть и тыкать в бок врагу. То есть изначальное применение камня и палки осталось в стороне. Это ведь не должно вписываться в вашу парадигму, так ведь?

utanho ★★★★★
()
Ответ на: комментарий от utanho

Это ведь не должно вписываться в вашу парадигму, так ведь?

Использование простых инструментов для построения из них более сложных для решения других и/или более комплексных задач — это нормально.

mord0d ★★★★★
()
24 ноября 2023 г.
Ответ на: комментарий от mord0d

А файлы находятся на ФС, а ФС могут располагаться на съёмных носителях, так что очень удобно умень подключать и отключать флешки прямо из ФМ. И для этого даже есть интерфейс в udisks2, который можно было бы прикрутить и к консольному ФМ.

kirill_rrr ★★★★★
()
Ответ на: комментарий от mord0d

Ты предлагаешь запускать графический файловый менеджер, чтобы примонтировать флэшку, даже если иксы запускать не имеет смысла?

Если графический ФМ может монтировать, тогда и mount от юзера практически наверняка подмонтирует. Так это делается в консоли, правда в самом консольном ФМ конечно было бы удобней.

kirill_rrr ★★★★★
()
Ответ на: комментарий от mord0d

Ну то есть ты подписываешься под тем, что современные пользователи Linux ничем не отличаются от пользователей Windows.

О как! Линукс-шовинизм! А позвольте поинетересоваться, у вас какая-нибудь философская основа есть для обоснования превосходства отдельно взятых пользователей? Ну там расовая теория, майн-кампф, протоколы сионских мудрецов?

FishHook
()