LINUX.ORG.RU
ФорумAdmin

передача параметров из File-roller unzip-у


0

0

Подскажите пожалуйста как обойти проблему с распаковкой созданных в Windows zip-архивов содержащих файлы с русскими именами. Патченая версия unzip (5.52), которая позволяет с помощью ключиков -I и -O указать входную и выходную кодировки имеется, но file-roller при обращении к unzip-у разумеется никаких дополнительных ключей не подставляет, а сам unzip по дефолту транслирует имена файлов в архиве cp866->utf-8. Всё бы ничего, но из-за кривизны Citrix-клиента я вынужден использовать для Linux-станций локаль cp1251 (в ином случае и проблемы бы небыло), в результате при распаковки получаем "кракозябры". Пробовал переименовать unzip и сделать простейший скрипт с именем "unzip", который вызывает переименованный unzip и подставляет вначале параметры -I cp866 -O cp1251, а затем параметры, с которыми его вызывает file-roller (%1 %2 %3 %4 %5 %6 и т.д). Частично такой финт удался (в самом file-roller имена файлов стали отображаться верно, но распаковывать он не хочет (видимо возникает какая-то ошибка при подстановке параметров). Каким образом сделать вызов UNZIP-а с дополнительными ключами прозрачным для file-roller-а ?

anonymous

Re: передача параметров из File-roller unzip-у

Юзай для всей системы локаль utf, запускай цитриксовый клиент с локалью cp1251

dn2010 ★★★★★ ()
Ответ на: Re: передача параметров из File-roller unzip-у от dn2010

Re: передача параметров из File-roller unzip-у

Изначально пробовал, увы цитриксовый клиент нормально не работает, если система в локали utf, а его запускать в локали cp1251, то получаем сообщение "locale not supported by C library, locale unchanged" и продолжает работать так, как если бы он был запущен в локали utf :(

anonymous ()
Ответ на: Re: передача параметров из File-roller unzip-у от anonymous

Re: передача параметров из File-roller unzip-у

Проблема решена, всем отозвавшимся спасибо.

Если кому интересно: 1. переименовываем unzip в к примеру unzipexec 2. создаём bash-скрипт:

#!/bin/bash unzipexec -O cp866 "$@"

и собственно всё :)

Сразу не работало, потому что file-roller все параметры передаёт в кавычках, а при передаче параметров через $1 $2 $3 или $* кавычки теряются ...

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.