О, как я люблю Ubuntu и все его возможности, но эта «ошибка» так долго злила меня, и я наконец решил попросить о помощи здесь.
Я назначил все .php
файлы для открытия с помощью gedit всякий раз, когда я дважды щелкаю по ним в nautilus. Сейчас поведение странное.
Теперь есть 2 возможных результата:
5A) Файл открывается в том же окне gedit в новой вкладке
5B) Файл открывается в новом окне gedit, в результате чего запускается 2 gedits.
1111 То, случается ли А или В, кажется совершенно случайным и продолжается бесконечно. Это означает, что я дважды щелкну по 100 файлам, и у меня может получиться 60 гедитов, некоторые из которых будут иметь 1 вкладку, некоторые - 2 вкладки, некоторые - 3 вкладки ...
Это очень раздражает, и исправление было бы очень ценно. Кто-нибудь когда-нибудь пытался решить эту проблему?
Это произошло в Ubuntu 10.04, 10.10 и 11.10. Все версии Ubuntu, которые я когда-либо тестировал.
Этого не происходит случайным образом
По умолчанию Gedit не сделан открыть много экземпляров, но один каждый дисплей. Если u откроются в дисплее, где еще не Gedit, откроется, файлы в ведьме Gedit существует теперь в том дисплее от ведьмы, открытый файл.
Таким образом, можно сделать 1-й экземпляр gedit, чтобы быть на Всех рабочих областях, таким образом, он следует активным дисплеем. Или работа над каждой рабочей областью с каждым проектом и каждый с его собственным открыл Gedit's. В сочетаниях клавиш можно сделать новый ярлык для переключения окна, находящегося на всех рабочих областях.
ИЛИ его возможные, чтобы заставить его всегда открыться в новом экземпляре с помощью команды ярлыка в Открывают With.. gedit --new-window
Таким образом, можно попробовать в php свойствах, открытых со сбросом, и поместить новое открытие только с Gedit
использование gedit --help-all
ull видят другую опцию открытия с gedit.
И можно также попытаться удалить gedit со всеми конфигурационными файлами и установить его чистое использование sudo apt-get purge gedit && sudo apt-get clean && sudo apt-get update && sudo apt-get install gedit
ОБНОВЛЕНИЕ: Я смог воспроизвести - когда движущееся окно немного от экрана, затем открывающего некоторый файл, открывается в новом окне. Это так или иначе думает что в другом Дисплее.
gedit
имеет довольно интересный алгоритм, чтобы определить, открывает ли он новый экземпляр или открывает ли он на вкладке в существующем экземпляре.
Расположенный в исходном файле gedit-app.c
в функции static boolean is_in_viewport
, алгоритм проверяет, является ли текущий экземпляр gedit
Если все верно, то gedit открывается в том же экземпляре в новой вкладке, в противном случае он открывается в новое окно.
Подводя итог - единственный реалистичный способ изменить поведение - это изменить алгоритм ...
Ниже приведен быстрый способ получить последовательный способ открытия gedit ... он всегда откроет новый экземпляр.
установить основные средства разработки
sudo apt-get install devscripts build-essential fakeroot
получить источник
cd ~/Downloads
mkdir build
cd build
apt-get source gedit
cd gedit-3.2*
внести изменения
Откройте gedit-app.c
gedit gedit/gedit-app.c
добавьте return FALSE;
, как показано, и сохраните.
Для этого всегда нужно выйти из процедуры, говоря «я не работаю в окне просмотра и поэтому всегда открываю новый экземпляр»
Если вы используете return TRUE;
, это будет всегда открывать в существующем экземпляре gedit в новой вкладке ...
присвоить ему уникальное имя пакета
ОК, нам нужно дать пакету уникальное имя, чтобы обновления хранилища не могли перезаписать ваш измененный пакет
gedit debian/changelog
Теперь добавьте +yourname
в верхнюю версию и сохраните файл, т.е.
Примечание - чтобы быть абсолютно уверенным - после установки модифицированного пакета ниже заблокируйте версию согласно связанному вопросу ниже.
собрать пакет
sudo apt-get build-dep gedit
debuild -i -us -uc -b
Перейти на кофе ...
cd ..
sudo dpkg -i gedit*.deb
Связанный вопрос:
Я хотел, чтобы все файлы открывались только в одном окне Gedit. Я не нашел эту информацию где-то еще, но со следующими изменениями мне удалось открыть все текстовые файлы только в одном окне в виде новых вкладок, независимо от того, как я их открываю (через панель запуска, через nautilus, через Gnome DO). [ 1110]
Получить номер дисплея: введите echo $DISPLAY
в командной строке. например вы получаете :0
в качестве вашего номера дисплея.
Откройте /usr/share/applications/gedit.desktop
в качестве суперпользователя с помощью текстового редактора.
Измените строку, сказав:
Exec=gedit %U
на
Exec=gedit --display=:0 %U
где :0
- номер вашего дисплея.
Это начало происходить со мной. Я не мог найти соответствующий файл conf, и даже попытался очистить + очистить. Наконец-то нашел, что это было. Окно Gedit открывалось так, что казалось, что оно было развернуто, но это не так. Я нажал кнопку максимизации в окне, и это решило проблему! Обратите внимание, что окно не изменило размер, только углы перешли от круглого к квадратному. Похоже, что это должно быть ошибкой в алгоритме @fossfreedom, описанном выше.
Примечание. Когда вы закрываете окно, состояние максимизации / минимизации должно быть сохранено в каком-либо пользовательском конфигурационном файле. Это состояние сохраняется после очистки + очистки, и оно также не входит в конф. Gedit для каждого пользователя.
Просто разверните окно gedit на весь экран, и все откроется на разных вкладках. Работал у меня в Ubuntu 18.