четверг, 22 декабря 2016 г.

Просмотр изображений в KDE 5 на HiDPI экранах

Непонятно, почему в KDE 5 такой устарелый просмотрщик изображений, как Gwenview. При этом на сайте Kubuntu его даже преподносят как достоинство: "Images are an important part of modern life. Kubuntu has applications that make it easy to browse, share, and enhance your photos". Да, картинки важны. И да, Gwenview позволяет делать всё перечисленное. Но он не умеет самого главного: нормально показывать картинки. На HiDPI экранах изображение получается жутко пиксилированным. А баг репорт на официальном трекере до сих пор имеет статус UNCONFIRMED. Пришлось искать альтернативу. 

Да, я понимаю, нельзя многого хотеть от бесплатного ПО. Но поскольку оно открыто, я могу сам допилить, если оно мне не по душе. Я иногда так и делаю. Но в данном случае есть неплохие альтернативы. Я нашёл два варианта:

  • PhotoQt. Имеет необычный и весьма контрастный интерфейс с тёмным прозрачным фоном и ярко-белым шрифтом, что почему-то не меняется настройками (они есть, но откровенно глючат). Слишком резало глаза - удалил.
  • nomacs. Более привычный внешний вид радует глаз. Куча настроек, опций, и даже какие-то плагины. На сайте - восторженные отзывы пользователей. Мне он тоже весьма понравился с первого взгляда. Поддерживается RAW. Написан на Qt 5 и органично смотрится в KDE. То, что нужно.

понедельник, 23 мая 2016 г.

Масштабирование старого приложения на HiDPI дисплее

Новые технологии - новые проблемы. Если попытаться запустить древнее приложение на HiDPI дисплее, таком как UHD или 4K, можно получить какую-нибудь гадость. В лучшем случае все будет настолько мелким, что без лупы не разберешься. В худшем - мелким будет все кроме текста, так что пользоваться этим вообще будет невозможно. 

Вот такая ерунда у меня получилась, когда я запустил приложение, построенное на gtkdialog из gtk2:



Что же теперь, выбросить все старые приложения? Нет, так не пойдет.

Благо, в линуксах легко вывести окошко на любой дисплей. А дисплей легко создать виртуальный. Для этого можно использовать программу tightvncserver. На нее отправляем вывод окна, и подключаемся через любой VNC клиент, поддерживающий масштабирование, например KRDC. По окончанию работы не забываем вырубить tightvncserver. Вместе получается вот так:


$ tightvncserver -geometry 1024x768 :1 && ( krdc vnc://:1 & ) && DISPLAY=:1 multisystem ; tightvncserver -kill :1
А выглядит вот так:


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

Чтобы не забыть, запилил себе скрипт ~/bin/scale:

#!/bin/bash 
tightvncserver -geometry 1024x768 :1 && ( krdc vnc://:1 & ) && DISPLAY=:1 $@ 
tightvncserver -kill :1

PS: А приложение MultiSystem все равно не заработало как надо, т.к. не поддерживает нужные мне образы ISO.

вторник, 14 октября 2014 г.

Где взять дешевый или бесплатный виртуальный сервер с Ubuntu на борту

Вообще говоря, многим хочется не просто дешевый, а бесплатный сервер. Мне по долгу службы часто нужны небольшие сервера, и я потратил много времени, чтобы найти не просто дешевый, а именно бесплатный сервер. Поэтому хочу поделиться с вами некоторыми наработками в этой сфере.

Сразу вас расстрою: найти бесплатный VDS или VPS практически невозможно! Исключение составляют некоммерческие проекты, под которые иногда (обычно на основании конкурса) можно выпросить бесплатный сервер у какого-нибудь хостера. Так и ищите: "бесплатный сервер для некоммерческого проекта". Все, других вариантов нет. Если вы планируете прямо или косвенно, сегодня или в будущем зарабатывать на своем проекте, бесплатный сыр вы найдете только в мышеловке.

Где брать сервер: на родине или за границей? Есть мнение, что чем ближе сервер к потребителю, тем быстрее и надежнее будет работать сайт. По своему опыту скажу следующее. С учетом текущего уровня развития сети Интернет, выгода от географического положения сервера уже лет десять настолько мизерная, что в условиях плохого подключения клиента (что случается весьма часто) она будет совершенно незаметна и бесполезна. А учитывая наш родной менталитет (любовь к холяве), можете быть уверены, что не только вы хотите сэкономить, но и ваш хостер, и экономить он будет на всем, и прежде всего на вас. Так что, в целом надежность и эффективность работы сервера будет гораздо ниже, чем за границей. Кроме того, за свой совершенно низкокачественный и непрофессиональный сервис наши хостеры почему-то дерут гораздо большую цену, чем за границей. Зачем вам такое счастье? Я уже долгое время беру сервера за границей, как себе, так и своим клиентам, и пока никто не жалуется, все отлично, на порядок лучше, чем у нас. Так что, если есть возможно воспользоваться качественными заграничными услугами - не отказывайте себе в таком удовольствии. Конечно, все-таки лучше брать хостинг в Европе, чем в Америке.

Чем еще может соблазнить Вас отечественный продавец VDS - это предоставлением бесплатного периода, без ввода номера кредитки. Хочу вас уберечь от этого. За границей так принято: покажи свою платежеспособность, введи номер карты, и дальше тебе будут лизать ягодицы. Некоторые люди опасаются, что с них сразу требуют номер карточки, мол, вдруг они меня ограбят. Не бойтесь, на западе и в Амеркие ведут цивилизованный бизнес, вводите номер карты и спите спокойно. А если же поведетесь на бесплатный пробный период у нас, то потом все равно придется заплатить. И в основном - своим временем, нервами и потерянными клиентами.

Некоторые хостеры предлагают ну очень уж дешевые VPS. Сразу проверяйте ключевое слово OpenVZ или Virtuozzo, и их аналоги. Это не настоящий виртуальный сервер, а лишь частичная виртуализация. У Вас, конечно, будет полный доступ к управлению вашим собственным сервером, но на самом деле, ваши программы будут активно конкурировать с программами на соседних VPS. Чем-то это похоже на коммуналку: вроде и своя квартира, но, извините, в туалет и кухня общие, со всеми вытекающими... А разница в цене, на самом деле, не такая и большая.

Осталось дело за малым: выбрать конкретную компанию, предоставляющую настоящий VDS. Так сложилось, что выбор в общем-то невелик. Т.е., он большой, но в основном каждый поставщик предлагает что-то свое, особенное, с какой-то очень интересной дополнительной услугой. Например, автоматизация публикации и настройки сайта, или изменение любых параметров сервера без его остановки, или возможность программного управления серверами, или 24/7 техподдержка, исполнящая для вас любую прихоть. Конечно, все это стоит денег, и немалых. Если же Вы хотите очень недорогой сервер, и готовы настроить его самостоятельно (либо это сделает ваш специалист), то здесь компания DigitalOcean вне конкуренции. Никто больше не предлагает такие дешевые и производительные сервера. И ни у кого больше нет такой простой и интуитивной системы управления серверами.

Что тут сказать, ребята молодцы, просто захватили нишу и вытеснили всех конкурентов, сделав всем нам предложение, от которого нельзя отказаться. В последнее время, когда мне требуется небольшой виртуальный сервер, я пользуюсь только их услугами, и они еще ни разу не подвели ни меня, ни моих клиентов. Все работает как часики, без непонятных тормозов и проблем. И техподдержка всегда вежлива и готова проконсультировать и помочь. При создании сервера предлагается широкий выбор операционных систем: Ubuntu, Debian, Fedora, CentOS, CoreOS. Можно сразу же автоматически установить на сервер WordPress, Drupal, LAMP, Django, Ruby, и другие часто используемые штуки. Есть возможность выбрать физическое местоположение сервера в одной из доступных зон. Сервера можно бэкапить, восстанавливать, делать снимки. А еще у них есть инструкции по настройке сервера для чайников.

Вот и подумалось мне: пользуюсь их услугами уже не один год, а в моем блоге крутится какая-то непонятная реклама от Гугла. Пусть лучше рекламируется DigitalOcean!

Если хотите сразу сэкономить $10 (целых два месяца бесплатной аренды сервера! где Вы такое еще видели?), тогда переходите по этой реферальной ссылке: https://www.digitalocean.com/?refcode=96a30b681bbc 

Скажете, реклама? Да, это реклама. Такой сервис и рекламировать не стыдно. Тем более, по принципу "Eating your own dog food" - предлагаю то, чем пользуюсь лично.

PS: Очень рекомендую за 1 дополнительный доллар взять автоматический бэкап данных. Или настройте свой собственный механизм бэкапов. Программы на серверах иногда ломаются, выходят из строя, и тянут за собой все драгоценные данные. Если ваши данные и ваше время вам дороги - не рискуйте.

вторник, 24 мая 2011 г.

[РЕШЕНО] Не работает Wi-Fi после выхода из сна в Ubuntu 11.04 (Natty)

Проблема у меня обнаружилась на Eee PC. При выходе из сна не включался Wi-Fi. После сороковой перезагрузки было найдено следующее решение. Временное, но рабочее.

Устанавливаем ядро из proposed.


$ sudo vim /etc/apt/sources.list

deb http://ua.archive.ubuntu.com/ubuntu/ natty-proposed main restricted universe multiverse
deb-src http://ua.archive.ubuntu.com/ubuntu/ natty-proposed main restricted universe multiverse

$ sudo vim /etc/apt/preferences.d/proposed

Package: *
Pin: release a=natty-proposed
Pin-Priority: 400

$ sudo aptitude


И обновляем ядро (linux-image-generic, если нужно linux-headers...)

Добавляем опцию для модуля rt2800pci.


$ sudo vim /etc/modprobe.d/options.conf

options rt2800pci nohwcrypt=1


Перезагружаемся.

Источники:

http://fossplanet.com/f10/%5Bbug-769092%5D-%5Bnew%5D-wifi-not-working-after-suspend-resume-132427/index2.html
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/777215
http://rt2x00.serialmonkey.com/pipermail/users_rt2x00.serialmonkey.com/2011-May/003756.html
.

среда, 17 ноября 2010 г.

Konqueror не запускается с WebKit в Kubuntu 10.10 (Maverick)

Те, кто используют Konqueror с движком WebKit, при обновлении могут столкнуться с тем, что Konqueror просто не запускается. Привожу способ устранения проблемы.

В консоли видно вот такую ошибку:

QFSFileEngine::open: No file name specified
konqueror(4011) OpenSearchManager::setSearchProvider: "Cannot open opensearch description file: " 
konqueror(4011)/kdecore (KLibrary) kde4Factory: The library "/usr/lib/kde4/kwebkitpart.so" does not offer a qt_plugin_instance function.
KCrash: Application 'konqueror' crashing...
KCrash: Attempting to start /usr/lib/kde4/libexec/drkonqi from kdeinit
sock_file=/home/artem/.kde/socket-artem-laptop/kdeinit4__0

Погуглив, выяснил, что явление это тех или иных вариациях встречается нередко. Но решения для Kubuntu не нашел. Один человек отписался, что на Debian решил проблему обновлением webkit. Но у меня все только-что было обновлено, и ничего свежего в текущих репозиториях я не нашел. Пришлось прибегнуть к тестовой ветке. Благо, ничего лишнего от туда не потянулось, только вебкит.

В /etc/apt/sources.list я добавил следующее:
deb http://ua.archive.ubuntu.com/ubuntu natty main restricted universe multiverse
Чтобы из тестового репозитория не тянулось ничего лишнего, создаем файл /etc/apt/preferences
Package: kpart-webkit libkwebkit1
Pin: release n=natty
Pin-Priority: 1000

Package: *
Pin: release n=natty
Pin-Priority: -1

Теперь обновляемся.
sudo uptitude update && sudo aptitude safe-upgrade
И наслаждаемся :)

среда, 25 августа 2010 г.

Unzip, cp1251 и UTF-8 - исправляем русские имена файлов

Распаковывая виндовые архивы с русскими именами файлов столкнулся с неприятной особенностью. Имена файлов не то что нечитабельные, они вообще непригодные для работы с ними. Ни открыть, ни скопировать толком... Достало. Пришлось лечить. Предлагаю мой отшлифованный и отлаженный вариант костыля.

Поиски по инету дали только один вариант решения проблемы - утилита convmv (не забудьте aptitude install ее для начала). Поскольку проблема все же встречается не настолько часто, чтобы выучить параметры команды наизусть, решено было написать баш-скриптец. К тому же, кодировкa имен файлов в zip совсем странная, и лечится в два прохода.

В общем, вот он - мой "шедевр" после часа борьбы с башем (уф-ф-ф, ну и язык!):
#!/bin/bash
for f in "$@"; do
    echo $f
    convmv -f cp1252 -t cp850 "$f" --notest --nosmart
    convmv -f cp866 -t utf-8 "`echo "$f" | iconv -f cp1252 -t cp850`" --notest --nosmart
done
Сохраняем, это, например, в файл ~/bin/convfn2utf8. Если папки bin ранее не было, не забудьте убедиться, что в ~/.profile есть строчка PATH="$HOME/bin:$PATH", после чего нужно перезапустить сеанс. И, конечно, chmod u+x ~/bin/convfn2utf8, чтобы можно было его запустить.

Теперь после распаковки достаточно натравить скрипт на файл. Конечно, поскольку имя не читабельное, то оно и не писабельное. Можно делать так:
$ convfn2utf8 *
или
$ convfn2utf8 *.doc
или
$ convfn2utf8 ???????????????.???
В общем, шаблоны вам помогут.

воскресенье, 30 мая 2010 г.

На Chrome и Firefox свет клином не сошелся. Мой выбор браузера.

Самая ресурсоемкая программа в моем компьютере - веб-браузер. Кажется, наступает то самое время, когда ресурсоемкость операционной системы перестает волновать так сильно, как раньше, зато аппетиты браузера привлекают все больше внимания. Я со своим гигом памяти уже жаловался на нехватку ее самой. И если сначала я пытался настроить использование памяти операционой системой, то теперь я пришел к выводу, что там и без меня уже все отлично настроили, а вот выбрать хороший браузер - это задача куда более посильная.

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

Итак, проблема - 1 гигабайт оперативной памяти, процессор Intel Atom 1.6 гигагерц. Задача - сделать интернет-серфинг полноценным и комфортным. При взгляде на объем ресурсов, который раньше мог только восторгать, сейчас разве что накатывается слеза. А ведь когда-то... Ну да ладно, сейчас тоже не все так плохо :) Однако, при загрузке системы почти половина памяти уже израсходована. А при более или менее продолжительном серфинге браузер съедает вторую половину памяти. Итак не шибко шустрый комп начинает тормозить просто безбожно.

Резонный вопрос должен возникнуть. Браузер съедает?... Какой браузер-то? Ну, конечно же Firefox и Chrome. Дык, оказывается, есть и другие браузеры. Причем, проблема отображения страниц альтернативными браузерами уже не так ужасна благодаря замечтательному движку webkit.

В общем, тестированию подверглись следующие браузеры: Firefox, Chrome, Konqueror и Arora. Было еще желание попробовать rekonq, но оно быстро пропало. Хотя, обещало вернуться... Тестирование сводилось к открытию 12 вкладок различных популярных сайтов и попытке использовать это браузер по назначению. Данный тест немного отличается от того, что проскакивал на ЛОР, тем, что в качестве параметра выступает не столько голая цифра, сколько субъективное ощущение.

О потреблении памяти в общем. Замер показал примерно такую же тенденцию, как и график из вышеуказанной статьи. Хотя, не такую страшную. Фокс, Конк и Аврора съели примерно по 150 метров с небольшим разбегом. Связи между степенью навороченности браузера и потреблением памяти не выявлено вообще никакой. Только хром съел больше 200 метров. Но у него - свои основания так делать, да и не сильно это критичная разница. Теперь по каждому браузеру.

Начну с Chrome. Чем он мне нравится - минималистичность интерфейса (хотя, заголовок окна я все же предпочел вернуть). Кроме того, хром невероятно быстро обрабатывает javascript, в несколько раз опережая конкурентов, что немаловажно для слабой машины. Короче самый шустрый и удобный браузер на сегодня. Что плохого - потребление памяти. Мало того, что он ест памяти больше, чем остальные браузеры, так еще и склонен разваливать свои булки на всю оставшуюся память при более или менее длительной работе. Уходим в своп и наслаждаемся. И субъективно браузер уже перестает казаться самым шустрым. Я долго им пользовался, но все же стало надоедать. С ним ничего лишнего уже не запустишь. К тому же, версия под линукс имеет прискорбную особенность не поддерживать Google Gears, что вообще очень странно. Обещают исправление ситуации с поддержкой фич HTML5, но это еще когда будет.

Firefox. Отличнейший браузер. С давних времен славится утечками памяти и тормознутым интерфейсом. Голым он не представляет особого интереса, зато с расширениями - просто сказка. Долгое время для веб-разработчика так вообще никаких достойных альтернатив не было. Одна беда: с расширениями он становится еще более тормознутым и жадным на память. В целом, Firefox мне кажется таким же ресурсоемким, как и Chrome. Тогда как Chrome в последнее время шустро догоняет фокса по количеству расширения и опережает по производительности. Так что, в будущем разработчикам Firefox, наверное придется попотеть что-бы предложить нечто действительно лучшее или просто другое. Кстати в ходе тестирования я обратил внимание, что фокс довольно часто освобождает память. Что это, то ли доработки в последней версии 3.6, то ли его обычное поведение - я не уверен.

Aurora меня заинтриговал движком WebKit и легковесностью. Однако, принципиальных отличий в объеме потребляемой памяти на этапе первой загрузки страниц он не показал. А дальнейшее его тестирование я не продолжил по причине довольно неприятных тормозов. В частности, видео на youtube превратилось в слайдшоу.

И в итоге мой выбор остановился на Konqueror. Это довольно странно, потому что я уже не раз пытался им пользоваться, и каждый раз отказывался от этого браузера. Он как минимум странен. Однако, сейчас я нашел в нем для себя неоспоримое преимущество: продолжительное использование этого браузера никак не сказывается на потреблении памяти, и к тому же он довольно отзывчивый. Причем, можно спокойно открывать одновременно несколько окон, в каждом из которых будет по несколько вкладок. В отличие от того же фокса, тормозов это не вызывает абсолютно, и увеличение потребения памяти не наблюдается. Так что я наконец почувствовал себя свободно со своим гигом памяти. Я больше не слежу так пристально за расходом памяти и не занимаюсь судорожным закрыванием вкладок с целью снять тормоза. И в придачу ко всему браузер интегрируется со средой KDE, что тоже очень приятно.

Есть у этого браузера ряд некоторых не очень приятных особенностей.
1. Движок KHTML далек от идеала пользователя, и сайты нередко могут частично или даже полностью не работать в нем. Проблема легко решается установкой webkit и назначением его компонентом по умолчанию для веб-страниц. Установить webkit не проблема - он есть в репозитории. Но не каждый еще сразу найдет, как повысить ему приоритет перед khtml. В настройках Konqueror такой опции просто нет. Ее нужно искать в Настройках системы, Дополнительно, Привязка файлов, text/html, Встраивание. Вот так вот далеко запрятали :)
2. Konqueror имеет одну нестандартную для браузера особенность. Он отображает иконку сайта в текущей вкладке в качестве иконки приложения на панели задач. Поэтому найти его беглым взглядом среди остальных приложений бывает очень трудно. И отключить эту фичу никак нельзя. Проблему решает изменение метода работы с браузером. Просто перестаньте так активно использовать вкладки. Пусть разные сайты будут в разных окнах. Если же Вы открываете несколько старниц одного сайта, или разных сайтов на одну тематику, то это можно делать и во вкладках. Я довольно быстро к этому привык. Оказалось, что это даже удобно. Я вспомнил, что в последнее время часто путался, когда искал вкладку нужного сайта. По энерции переключался в другие окна, короткий перебор наводил на мысль, что среди открытых окон его нет, потом приходило осознание того, что я хочу переключиться именно на сайт, а не на приложение, и его нужно искать во вкладках, а не на панели задач. А иногда просиходило наоборот: во вкладках браузера я искал окно другого приложения. В общем, мне кажется, что вкладки - это искусственная попытка решить проблему оконного интерфейса. Встречал раньше где-то такое мнение, а теперь сам прочувствовал его. Ну а истина как всегда где-то посередине: в разумном сочетании вкладок и окон.
3. Этот браузер не имеет такого набора полезных расширений, как фокс и хром. Мало того, из всех расширений я вообще не нашел ни одного полезного лично дляменя. Кроме того, отсутствуют некоторые элементарные функции. Например, при переключении на предыдущую страницу не происходит восстановление ранее заполненной формы. Такие мелки неудобства немного раздражают, но все же работать без этого можно. Если у Вас мало памяти - то это очень даже оправданный компромисс.

В общем, Konqueror мне понравился, и теперь я его с удовольствием использую. Хотя, удручает ощущение, что стремительное развитие этот браузер вряд ли получит. Зато, поговаривают, что в Kubuntu 10.10 его сменит новый браузер: Rekonq. Это браузер сразу использует webkit, тоже интегрирован в KDE, имеет более приятный и простой интерфейс, и сейчас ведется разработка модуля для подключения расширений Chrome. Если этот модуль сделают, это будет очень серьезный конкурент :) Пока он еще сыроват, но его вполне уже можно пощупать.