null

Приводим в порядок внешний вид NetBeans 7.X в Ubuntu 12.04

После обновления ОС Ubuntu до версии 12.04, пользователи IDE NetBeans столкнулись с рядом проблем - помимо так и не заработавшей интеграции с глобальным меню дефолтной убунтовой оболочки Unity, теперь меню IDE использует новую, "особо контрастную" палитру "чёрные буквы на тёмно-сером фоне", в силу чего пользоваться им стало почти невозможно. В итоге, интерфейс свежепоставленной IDE NetBeans 7.2 под управлением ОС Ubuntu в настоящее время выглядит примерно так:

Так выглядит меню NetBeans в Ubuntu 12.04 сразу после установки

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

Первый способ - меняем скин Swing

Наиболее простой способ - достаточно поправить конфиги Нетбинса. Нужно дописать в файл $NETBEANS_HOME/etc/netbeans.cfg ключи, устанавливающие выбранную нами тему вместо использующейся по умолчанию GTK. Например, если мы хотим использовать Nimbus (ИМХО, это оптимальный вариант из имеющихся), переменная netbeans_default_options должна выглядеть так:

netbeans_default_options="-J-client -J-Xss2m -J-Xms32m -J-XX:PermSize=32m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dsun.zip.disableMemoryMapping=true --laf com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"

После этих изменений конфигурации интерфейс NetBeans примет следующий вид:

Интерфейс NetBeans с темой Nimbus

Очевидный минус такого решения - приложение перестало выглядеть как "родное" для графической оболочки ОС.

Второй способ - исправляем параметры темы GTK

Второй способ основан на том, что сам Нетбинс, в общем-то, не виноват в своём уродливом внешнем виде под Убунту. Виноваты в этом авторы дефолтной убунтовой темы Ambiance, которые задали такие чудесные параметры меню в её палитре. Таким образом, мы можем "починить" меню, изменив настройки темы GTK. Для этого нам нужно сделать следующее:

  1. Открыть на редактирование файл /usr/share/themes/Ambiance/gtk-2.0/gtkrc.
  2. Найти там строчку с правилом стиля меню («style "menu" {»).
  3. Изменить её содержимое на «style "menu" = "dark" {».
  4. Перелогиниться в ОС, либо поменять тему оформления на любую другую и обратно.

Теперь окно IDE будет выглядеть так:

Интерфейс NetBeans с изменённой темой GTK

Третий способ - интегрируем NetBeans с Unity

Третий вариант решения проблемы - заставить Нетбинс использовать глобальное меню Unity. Существует плагин, позволяющий это сделать. Правда, мануал по его установке доступен только на испанском языке, но понять его можно даже без перевода - всё проиллюстрировано скриншотами. В кратком пересказе, нужно сделать следующее:

  1. Открыть центр управления плагинами Нетбинса ("Tools" -> "Plugins").
  2. Перейти на вкладку "Settings", кликнуть кнопку "Add".
  3. В появившемся окне ввести URL плагина - http://java-swing-ayatana.googlecode.com/files/netbeans-catalog.xml, кликнуть по кнопке "OK".
  4. После обновления списка плагинов перейти на вкладку "Available Plugins" и установить плагин "Java Ayatana".
  5. Перезапустить IDE.

После рестарта интерфейс Нетбинса станет выглядеть так:

NetBeans и работающее глобальное меню

Коротко о себе:

Работаю ведущим программистом в компании Tune IT и ассистентом кафедры Вычислительной техники в Университете ИТМО .

Занимаюсь проектами, связанными с разработкой разного рода веб-приложений (порталы, CRM-системы, системы электронного документооборота), а также, в рамках научной работы на кафедре, изучаю возможности применения семантического анализа в задачах САПР.

Ещё на эту же тему:

Установка VirtualBox 7.1 из репозитория пакетов в Ubuntu 24.04
Использование Office365 SMTP Relay в Postfix
Восстанавливаем работоспособность Bumblebee в Ubuntu 16.04
Интеграция меню Eclipse с Unity
Добавляем Eclipse и Netbeans на панель запуска Ubuntu 12.10
Liferay 6 и SyntaxHighlighter
Ubuntu 24.04: Thunderbird не видит почтовые аккаунты после обновления системы
Как собрать Slurm и не сойти с ума
Запуск Linux VM в Podman
Расширение корневого раздела в Proxmox VM