При разработке в ubuntu использую IDE PhpStrom, но в ней немного напрягает то, что шрифты в редакторе выглядят просто ужасно. На просторах интернета нашел решение, установить пропатченный OpenJDK, который поддерживает сглаживание шрифтов в swing приложениях.
sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix sudo apt-get update sudo apt-get install openjdk-7-jdk
После этого редактируем конфиг IDE.
gedit /opt/phpstorm/phpstorm.vmoptions
Добавляем в него следующие строки
-Dawt.useSystemAAFontSettings=on -Dsun.java2d.xrender=true
Если этот вариант не помог, то пробуем следующий способ:
Создадим файл запуска IDE, с новыми параметрами. Для этого перейдем в папку с установленным PhpStrom, у меня он установлен в /opt/phpstorm. В директории bin создадим файл start.sh со следующим содержимым:
#!/bin/sh # путь до IDE IDEA_HOME=/opt/phpstorm # путь может отличаться, проверьте у себя точный путь до java export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64 # "-Dawt.useSystemAAFontSettings=on" по мне с параметром "on" лучше всего отрисовываются шрифты. export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on \ -Dsun.java2d.xrender=true" export GNOME_DESKTOP_SESSION_ID=this-is-deprecated exec $IDEA_HOME/bin/phpstorm.sh "$@"
Теперь редактируем .desktop файл запуска приложения.
У меня он находится в ~/.local/share/applications/. Открываем файл в редакторе
gedit ~/.local/share/applications/jetbrains-phpstorm.desktop
Заменяем путь до исполняемого файла,
Exec="/opt/phpstorm/bin/start.sh" %f
После этого все должно заработать.
Для большей интеграцией с ubuntu нехватает поддержка global menu. Попробуем исправить это.
Первым делом доставим программы, которые нам понадобятся для пересборки java (после они нам не понадобятся, их можно будет удалить).
sudo apt-get install openjdk-7-jdk libunity-dev libxt-dev gcc make ant
Скачиваем исходники jayatana
svn checkout http://java-swing-ayatana.googlecode.com/svn/tags/1.2.4/jayatana
Переходим в папку с исходниками:
cd ./jayatana
И пересобираем:
Для OpenJDK 7:
sudo ant deinstall sudo ant install sudo ant config
Для Oracle JDK 7:
sudo ant deinstall sudo ant install -Djava.home.7=/usr/lib/jvm/oraclejdk7 sudo ant config -Djava.home.7=/usr/lib/jvm/oraclejdk7
Все исходники jayatana нам больше не нужны. Можно удалить
rm -rf ./jayatana
Запускаем PhpStrorm и любуемся
UPD: Для 13.04 и 14.04 есть репозиторий c глобальным меню:
sudo add-apt-repository ppa:danjaredg/jayatana sudo apt-get update sudo apt-get install jayatana
Вернуть обратно:
sudo apt-get --purge remove jayatana libjayatana libjayatanaag libjayatana-java libjayatanaag-java
Вернуть обратно стандартное сглаживание:
sudo apt-get install ppa-purge sudo ppa-purge ppa:no1wantdthisname/openjdk-fontfix
UPD: Для пользователей Oracle JDK есть способ сгладить шрифты. Для этого нужно удалить из файла шрифта инструкции по отрисовке. Сделать это можно с помощью FontForge.
- Открываем нужный шрифт в FontForge.
- Выбираем все символы Ctrl+A и удаляем инфо (Hints -> Clear Hints)
- Снова выбираем все и удаляем инструкции (Hints -> Clear Instruction)
- Сохраняем шрифт под другим именем ( File -> Generate Fonts)
Устанавливаем шрифт в системе и выбираем в phpstorm.
блин еще хуже стало, теперь не знаю как вернуть назад (((((
Спасибо. Помог первый способ (Elementary Luna).
Единственный нюанс с путями:
/opt/phpstorm/phpstorm.vmoptions
в моем случае было тут:
/opt/phpstorm/bin/phpstorm.vmoptions
/opt/phpstorm/bin/phpstorm64.vmoptions <- Для моей 64-битной версии
Не помогло. Печаль
У меня тоже сначала не получилось, но дело в том что
add-apt-repository ppa:no1wantdthisname/openjdk-fontfix
выдал ошибку а я не заметил.
Теперь все хорошо
1) Спасибо за статью, помогла, установил jayatana, тем самым вернул пропавшее глобальное меню.
2) Глобальное меню. По умолчанию в Ubuntu 15 добавлено глобальное меню. В PhpStorm 9 отлично работает. В IDE IDEA 14 тоже. Но в IDEA при запуске программы в консоль вываливается предупреждение, мозолящее глаза:
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
На просторах гугла нашел решение, диктующее удаление jayatana. Удалил, ошибка действительно ушла, но исчезает глобальное меню, и в IDEA, и в PhpStorm – е, что конечно не устраивает. Может автор знает, как убрать данное предупреждение без удаления jayatana?
3) Шрифты. На Ubuntu 15 + PhpStorm 9, тема Darcula, из коробки отличные сглаженные шрифты. Всем, кто придерживается светлых тем советую привыкать к темным, для глаз более щадимо.