Автор Тема: Caja - файловый менеджер на основе Nautilus'а  (Прочитано 43462 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Пользователь.

  • Редактор раздела
  • *****
  • Автор темы
  • Сообщений: 4088
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #30 : Февраль 27, 2017, 15:01:57 »
Как я понимаю нужно смотреть в каком виде принимает пути к файлам chmod, и в каком виде выдает ему Caja.

Может быть  просто chmod не понимает что ему подсовывают, например хочет перечисление в строку, а ему дают перечисление в столбец.

И sudo не хватает.

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #31 : Февраль 27, 2017, 15:29:19 »
а зачем sudo для работы с файлами из домашней папки? В терминале же все нормально без sudo.

Пробовал вместо chmod подсовывать редактор текста и тот нормально открывает файл, значит caja подставляет правильную ссылку.
Пробовал и со всеми другими переменными (их там всего 6).
Пробелов в пути нет. Пробовал с файлом и с путем без кирилицы.
Остальные скрипты (загнал в ФМ штук 6) работают нормально с той же самой переменной.
« Последнее редактирование: Февраль 27, 2017, 15:48:33 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн FSnow

  • Global Moderator
  • *****
  • Сообщений: 689
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #32 : Февраль 27, 2017, 15:35:58 »
    Вероятно, chmod не понимает URI. Попробуйте использовать CAJA_SCRIPT_SELECTED_FILE_PATHS

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #33 : Февраль 27, 2017, 15:41:53 »
    Вероятно, chmod не понимает URI. Попробуйте использовать CAJA_SCRIPT_SELECTED_FILE_PATHS
я перепробовал со всеми 6-ю переменными.
Как посмотреть, в каком виде ссылка подсовывается команде? 
Devuan ASCII x32..x64

Оффлайн FSnow

  • Global Moderator
  • *****
  • Сообщений: 689
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #34 : Февраль 27, 2017, 15:59:52 »
#!/bin/sh
echo -e "$CAJA_SCRIPT_SELECTED_URIS" > uri_test.txt

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #35 : Февраль 27, 2017, 16:16:40 »
В файл записало такой путь, путь к файлу правильный.
Цитировать
-e file:///home/nfn/test

для такого варианта
Цитировать
#!/bin/sh
echo $CAJA_SCRIPT_SELECTED_URIS > uri_test.txt
записало
Цитировать
file:///home/nfn/test
« Последнее редактирование: Февраль 27, 2017, 16:20:46 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн FSnow

  • Global Moderator
  • *****
  • Сообщений: 689
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #36 : Февраль 27, 2017, 16:26:17 »
    Это с использованием CAJA_SCRIPT_SELECTED_URIS?
Если подставить  CAJA_SCRIPT_SELECTED_FILE_PATHS, что запишется в файл?
И подставьте в начало скрипта #!/bin/bash, чтобы ключ -e правильно интерпретировался.

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #37 : Февраль 27, 2017, 16:38:19 »
Объединил в один скрипт:
Цитировать
#!/bin/bash
echo -e "$CAJA_SCRIPT_SELECTED_URIS" > uri_test.txt
echo -e "$CAJA_SCRIPT_SELECTED_FILE_PATHS" >> uri_test.txt
echo "$CAJA_SCRIPT_SELECTED_FILE_PATHS" >> uri_test.txt
Вывод в uri_test.txt:
Цитировать
file:///home/nfn/test
/home/nfn/test
/home/nfn/test

Но с переменной $CAJA_SCRIPT_SELECTED_FILE_PATHS все равно не работает.
« Последнее редактирование: Февраль 27, 2017, 16:45:24 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн FSnow

  • Global Moderator
  • *****
  • Сообщений: 689
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #38 : Февраль 27, 2017, 16:44:00 »
    Попробуйте такой скрипт
#!/bin/bash

IFS=$'\n'

for line in $CAJA_SCRIPT_SELECTED_FILE_PATHS
do
  if [ -f "$line" ]; then
    chmod +x "$line"
  fi
done

unset IFS

exit 0

Должно работать с кириллическими и пробельными символами, плюс мультивыбор.
« Последнее редактирование: Февраль 27, 2017, 17:34:58 от FSnow »

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #39 : Февраль 27, 2017, 16:53:33 »
не работает даже на латинице с таким путем - /home/nfn/test
Пробовал обе переменные.

В терминале все работает

В ФМ через "свойства файла" тоже работает.
« Последнее редактирование: Февраль 27, 2017, 17:06:01 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн FSnow

  • Global Moderator
  • *****
  • Сообщений: 689
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #40 : Февраль 27, 2017, 17:13:38 »
    Поправил скрипт, попробуйте еще раз.

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #41 : Февраль 27, 2017, 17:25:45 »
Вот сейчас заработал. С кириллицей тоже. С пробелами не работает
Devuan ASCII x32..x64

Оффлайн FSnow

  • Global Moderator
  • *****
  • Сообщений: 689
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #42 : Февраль 27, 2017, 17:37:09 »
    Поправил снова. Надеюсь, окончательный вариант.

Оффлайн ek-nfn

  • Местный
  • *****
  • Сообщений: 1422
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #43 : Февраль 27, 2017, 17:59:44 »
ДА...  ;D  Этот заработал и с пробелами. Большое спасибо!

Странная фишка, ведь идет просто подмена одной переменной на другую и все меняется, хотя вывод содержимого обеих переменных одинаков (если верить echo).
Без цикла это выглядит так и тоже работает, но лишь при наличии оконцовки exit 0 (имена без пробелов).
Цитировать
#!/bin/bash
line=$CAJA_SCRIPT_SELECTED_FILE_PATHS
chmod +x $line
exit 0

А такой вариант уже не работает, хотя логически все тоже самое
Цитировать
#!/bin/bash
chmod +x $CAJA_SCRIPT_SELECTED_FILE_PATHS
exit 0
« Последнее редактирование: Февраль 27, 2017, 18:03:29 от ek-nfn »
Devuan ASCII x32..x64

Оффлайн FSnow

  • Global Moderator
  • *****
  • Сообщений: 689
Re: Caja - файловый менеджер на основе Nautilus'а
« Ответ #44 : Февраль 27, 2017, 18:03:16 »
    Цикл перебирает имена файлов, если их выбрано несколько.