Pull to refresh

Comments 30

Скрипты это тру. Заодно wine поставил свежий. Да прибудет с Вами Сила!
Как куда? В клетки организма посредством мидихлориан. )
спасибо конечно, только я не понял, версия 1.1.13, убунту, но почему то разницы не заметил.
Разница заметна на более крупных размерах текста.
А я заметил =) глазомеру приятно =) алаверды!
да, на 48 размере кое как заметил увеличив через компиз
die "Wine не обнаружен. Он точно установлен? ($WINE)"

die — это какой-то perl-изм, но никак не bash-изм

bash как бы говорит: die: command not found
Ой! Спасибо, поправил. Так лучше?
Продолжем bash-линч:

Вместо «which» можно использовать bash-евый built-in «type».
Плюсы:
Не надо дёргать диск, чтоб запустить /usr/bin/which.
Не надо удостоверяться в том, что which вообще установлен. Например, в gentoo это отдельный пакет, т.е. which даже в coreutils не входит.

Вместо статически заданного имени временного файла лучше использовать нечто, сгенерированное с помощью mktemp. Представте, что текущая директория /tmp (логично скачать сюда одноразовый скрипт) и злоумышленник создал симлинк .wfscfg.tmp -> /home/user/.ssh/id_rsa
Ну или банальнее — кто сказал, что у пользователя есть доступ на запись в текущую директорию?

Еще вот такое замечание:
-if [[ $STATUS = 255 || $STATUS != 0 ]]
+if [[ $STATUS != 0 ]]

Выражения-то эквиваленты.

ORIENTATION неплохо определить автоматом — я вот не хочу вглядываться с лупой в субпиксели, ну или по крайней мере брать его из текущих настроек. Хорошего способа узнать текущие настройки без парсинга fonts.conf мне не известно, парсить можно через libxml2, которая стоит почти повсюду. Пример можно посмотреть тут — darkk.net.ru/home/bin/brainbench-update.sh
Спасибо за подсказки. Обновил файлы. С последним правда непонятно. Пока пытаюсь откопать какие-то детали.
Я бы начал с /etc/fonts/fonts.conf и далее вглубь по include-директивам.

Согласен, парсить XML на bash — то еще удовольствие, но XPath довольно прост, а xmlstarlet позволяет упросить процесс геренации XSL-преобразований по XPath запросам =)
Уже понимаю, что подобные извращения лучше делать на чём-нибудь другом (типа perl, python или ruby), но извлечение параметров из .fonts.conf удалось написать при помощи sed :) Как-то так:
cat ~/.fonts.conf | tr -d '\t\n\r ' | \
sed 's/^.*name="rgba"[^>]*><const>\(\w*\)<.*$/\1\'
Сам понимаю, что страшно, но зато работает %)

И xmlstarlet по умолчанию не установлена в ubuntu.
Тут Денис Орехов попросил указать, что код
if [ -x "`type -t $WINE`" ]
не работает.

Что не удивительно, т.к.
$ echo `type -t wine`
file

Вообще, в help type подробно расписано, что да как.
Оно работает и должно работать (хотя логика несколько витиевата, да %) ). Но чтобы было уж совсем хорошо поменял на:
if [ -z "`type -p $WINE`" ]
Не должно, т.к. в текущей директории нет исполнимого файла «file». Или работает какая-то другая логика?
А там проверяется не только текущая директория. Но и /usr/bin, а там такой файл есть. Я же говорю, логика витиеватая ;)
test -x проверяет текущую директорию, а не весь PATH
darkk@thinkpad ~ $ ls file
ls: cannot access file: No such file or directory
darkk@thinkpad ~ $ test -x file && echo exists || echo fail
fail

Зачем так сложно делать, когда можно просто проверить $? после type — я не вполне понимаю, но это уже детали :-)
Попробовал ваш скрипт. Думал решит мою давню проблему:


С английскими буквами тоже самое, так что дело не в шрифте. Если в настройках КДЕ отключить сглаживание, то в приложения на Qt появляется тоже такая беда. Поэтому подумал, что включение сглаживания для wine мне поможет.

Есть варианты, как это побороть?
Я подозреваю нужно
1) ставить системные шрифты (Bitstream Vera и похожие)
2) добавлять их и вообще посмотреть /etc/X11/xorg.conf
3) пересобрать freetype c включенным Bytecode Interpreter
4) Ну и подправить ~/.fonts.conf там есть опции для выбора субпиксельного/ оптимизации для Lcd/crt
будет все гут
Пробовал шаманить с реестром — ничего не заработало… Но скрипт помог)
У Wine недавно появилась какая-то утилита по настройке Вайна из GUI. Отправьте им код, такие вещи лучше и удобнее использовать из одного места.
winecfg существует не недавно, а давным-давно. Только оно написано на C. Совсем не понимаю как им может пригодится bash скрипт.
активировал скриптик…
ubuntu/8.04
использую ies4lin и IE6 для тестирования,
после включения скрипта и активации сглаживания
в IE перестали отображаться некоторые картинки (невидимые)
выключил сглаживание аналогично.
времени разбирать, что делал скриптик нет, вот и сижу бью себя по рукам (сколько раз говорил нельзя пускать не посмотрев)
По идее, оно не должно так влиять. Если влияет, то это явно баг wine, возможно есть смысл сообщить разработчикам.

А пока попробуйте запустить редактор реестра и в HKEY_CURRENT_USER\Control Panel\Desktop удалить все значения, которые начинается на FontSmoothing. Если это поможет, то это определённо баг wine. Если не поможет, то копать надо где-то в другом месте, возможно вы в последнее время ещё что-то меняли.
Я поговорил с Скоттом Ричи (который делает упдейты вайну в убунте и работает над её интеграции), он об етом не знал — посоветовал репорт сделать для будущего: bugs.winehq.org/show_bug.cgi?id=17148
Sign up to leave a comment.

Articles