Я установил Nemo из репозиториев Ubuntu 13.10 Saucy и заменил им Nautilus, как показано здесь :
$ xdg-mime default nemo.desktop inode/directory application/x-gnome-saved-search
$ gsettings set org.gnome.desktop.background show-desktop-icons false
$ gsettings set org.nemo.desktop show-desktop-icons true
Теперь, когда я запускаю Nemo из Launcher Unity, он помещает его окно ниже других окон на экране. Я хочу, чтобы Nemo запускалась так же, как и Nautilus, и все остальные приложения на переднем плане.
Позже я начал испытывать проблему с другими приложениями, а затем начал искать решение не для Nemo, а в целом, и нашел его на форумах Ubuntu и два [ 114] на Спросите также Ubuntu .
Это вызвано Compiz, поэтому вы должны использовать compizconfig-settings-manager
(sudo apt-get install compizconfig-settings-manager
, затем запустить команду ccsm
с помощью Alt + F2, или из терминала, или искать «CompizConfig Settings Manager» из тире).
После выполнения этих шагов все мои недавно открытые окна появляются на переднем плане, как и ожидалось.
Вопрос о том, что nemo (и некоторые другие приложения в этом отношении) запускаются в фоновом режиме, все еще актуален в Ubuntu 14.04.
Решение, предоставленное вами (Барта Тамас, ответ 1), также все еще решает эту проблему в соответствии с 14.04:
И все вновь открытые приложения теперь будут отображаться на переднем плане.
Более общим (но также и гораздо более гибким) решением является использование devilspie2 .
Установите пакет devilspie2 , добавьте команду /usr/bin/devilspie2
в ваши запускаемые приложения, создайте файл ~/.config/devilspie2/window_open.lua
и заполните его следующим содержимым:
if (get_application_name() == "nemo") then
focus_window()
end
Вы можете легко добавьте другие команды, поэтому, если вы также хотите, чтобы Nemo отображался в центре экрана, попробуйте следующее:
if (get_application_name() == "nemo") then
focus_window()
center()
end
Это должно работать на большинстве оконных менеджеров, а не только на тех, которые поддерживают Compiz!
Для отладки (запустите devilspie2 --debug
из оболочки), вероятно, хорошей идеей будет что-то вроде этого:
function debug_output(header, window_information)
if window_information == "" then
debug_print(header .. "---")
else
debug_print(header .. window_information)
end
end
debug_output("Application: ", get_application_name())
debug_output("Window Name: ", get_window_name())
debug_output("Window Type: ", get_window_type())
debug_output("Window Class: ", get_window_class())
debug_output("Window Role: ", get_window_role())
geometry = string.format("x=%d, y=%d, width=%d, height=%d",
get_window_geometry())
debug_output("Geometry: ", geometry)
if (get_application_name() == "nemo") then
focus_window()
end