Официальная возможность получить лицензионный софт бесплатно.
Giveaway of the Day
Это не реклама!

Щелкните для получения прогноза по Биробиджану


понедельник, 30 марта 2015 г.

EXCEL 2010: Недостаточно ресурсов для полного вывода на экран

Есть у меня пользователь. Самый обычный пользователь в одном из районов. На рабочем месте старая добрая XP/prof, лицензионка. На машинке двухъядерный процессор и два гига оперативки. При плановой проверке компьютеров в том районе выяснилось, что его доменная учетка была почему-то добавлена в группу локальных администраторов, что не смертельно, но и очень не приветствуется.
Убрал его из этой группы, при следующем логине он попал в локальную группу "пользователи" и вроде всё нормально. А вот ни фига! При попытке открыть любой экселевский документ вываливается транспарант "Недостаточно ресурсов для полного вывода на экран" и эксель отъедает полностью одно ядро и чуть меньше половины оперативки. Даже если просто запустить эксель без параметров. Ворд свои документы открывает. Визио выпендривается, выдавая совершенно невразумительную диагностику.
Загрузился с админской учеткой, всё открывается и запускается, как надо. Для чистоты эксперимента проделал то, что рекомендовано здесь: http://support.microsoft.com/ru-ru/kb/126962 - увеличил до рекомендованных величин размер кучи. Не помогло - под обычным пользователем всё те же проблемы.
На всякий случай проверил, доступен ли принтер по умолчанию. Оказалось доступен. Дело в том, что винда (не знаю, как насчет семерки и более новых) очень не любит, когда дефолтный принтер недоступен, особенно если он сетевой. Бывало, что приложения молча умирали сразу при запуске.
Под своим отладочным пользователем с дефолтными полномочиями залогинился на тот комп. Эксель и визио по-прежнему "ой, я сегодня вся такая загадочная!", а ворд оказался малость умнее и написал, что, мол, не могу отобразить шрифт для темы. Наверное, речь о теме оформления документов - не знаю. В выпадающем списке шрифтов увидел Calibri, выглядящий как растровый Arial, что меня смутило.
Пошел проверять, и точно: штатные шрифты и шрифты от других приложений имеют нормальные разрешения:

\winnt\fonts\bla-bla.TTF BUILTIN\Пользователи:R
                         BUILTIN\Опытные пользователи:C
                         BUILTIN\Администраторы:F
                         NT AUTHORITY\SYSTEM:F


тогда как всё тот же Calibri оказался с ограниченным доступом:

\winnt\fonts\CALIBRI.TTF BUILTIN\Администраторы:F
                         NT AUTHORITY\SYSTEM:F


Пришлось вспоминать, как в винде выглядит аналог линуксовой chown.

cd \winnt\fonts
cacls *.ttf /g "пользователи":r
cacls *.fon /g "пользователи":r
cacls *.ttf /g "опытные пользователи":r
cacls *.fon /g "опытные пользователи":r

(я не стал опытным давать права на запись в файлы шрифтов - на фига?)

После этого всё заработало.
Один вопрос: какой долбодятел писал модули диагностики для офиса, если они не способны отследить такую ситуацию и выдать вразумительное сообщение типа "не удается прочесть файл шрифта"?

понедельник, 23 марта 2015 г.

Перекодирование неправильных имен файлов (1251-utf8)

Разбирая доставшийся по наследству каталог старого FTP, наткнулся на файлы, имена которых были созданы в cp1251 (кодировка windows), хотя сам линуксовый сервер работает в utf8, и отображались квадратиками в mc и вопросительными знаками в консоли. Пришлось вспоминать основы...

Переименование с перекодировкой (все файлы/каталоги в текущем каталоге без рекурсии):

for a in *; do b=`ls -d "$a"|iconv -f cp1251 -t utf8`;mv "$a" "$b";done


пришлось использовать переменную b, чтобы не возиться с бэкслэшами внутри цепочки ls-iconv для экранирования вложенных кавычек.

пятница, 20 марта 2015 г.

RSYNC: как читать результаты --itemize-changes

С ключом -i (--itemize-changes) rsync выводит перечень проделанных изменений в виде:

~ $ rsync src/ dest/ -ai
.d..t.... ./
>f+++++++ newfile
>f..t.... oldfil

Интересно, но непонятно. Кто-то постарался и покурив маны создал вот такую схему, что есть что в выводе rsync. Разумеется, любой из нас может сделать то же самое, но почему-то никто не сделал. :-)

I wrote this little schema that helped me to understand this output format and I'm publishing hoping it will be useful for others.

YXcstpoguax  путь/к/файлу
|||||||||||
`----------- тип проделанных изменений:
 ||||||||||   <: файл был передан на удаленный узел (отправка).
 ||||||||||   >: файл был передан на локальный узел (приём).
 ||||||||||   c: локальное создание/изменение, например:
 ||||||||||      - создан каталог
 ||||||||||      - изменился симлинк,
 ||||||||||      - и т.д.
 ||||||||||   h: элемент суть жесткая ссылка на другой элемент (требуется --hard-links).
 ||||||||||   .: файл не обновлен (хотя некоторые его атрибуты могли измениться).
 ||||||||||   *: means that the rest of the itemized-output area contains a message (e.g. "deleting").
 ||||||||||
 `---------- тип файла:
  |||||||||   f файл,
  |||||||||   d каталог,
  |||||||||   L симлинк (symlink),
  |||||||||   D устройство (device),
  |||||||||   S специальный файл (например, сокет).
  |||||||||
  `--------- c: изменилась контрольная сумма (для обычных файлов)
   ||||||||     изменилось содержимое (для симлинков, устройств и специальных файлов)
   `-------- s: отличается размер
    `------- t: отличается время последнего изменения
     `------ p: изменились права доступа
      `----- o: изменился владелец
       `---- g: изменилась группа
        `--- u: (резерв на будущее)
         `-- a: изменилась информация в ACL
This schema is based on the contents of the rsync manual.
Наводку на схему получил здесь