Свершилось! На новой работе я установил в качестве рабочей ОС Убунту с ванильным Gnome в качестве рабочего окружения. Никаких больше «Мы банк, так что только Винда» или «Все твои коллеги сидят на Макбуках, так что лучше Макбук», на новом месте мне сказали «Вот тебе комп, ставь на него что хочешь», и, естественно, я поставил то окружение, которое считал максимально удобным для себя.
Не знаете, что такое Gnome? — Это нормально. Вот тут я попытался изложить основные его особенности.
До этого времени я использовал Gnome только дома, где всегда было открыто около трёх приложений, которые нормально размещались на одном экране и, соответственно, просто не могло быть каких-то проблем с удобством. Здесь же всё иначе, мой рабочий список одновременно открытых приложений следующий:
Итого от 4 до 9 одновременно открытых окон, половина из которых должна быть развёрнута во весь экран, не считая периодически появляющихся файлового менеджера, приложения с почтой, календаря и прочей ерунды, а мониторов у меня не девять, а только два. Вот тут то и должны проявиться все профессиональные качества операционной системы, тут то и определится, готов ли Gnome для работы или же он является красивой игрушкой, которой без напильника пользоваться невозможно.
Естественно, решением всех проблем стала многозадачность. Во-первых, в Gnome очень легко развернуть два окна на левую и правую половину экрана (примерно как в Windows), а во-вторых, имеется отличная система виртуальных рабочих столов. Вот на ней остановимся подробнее.
Виртуальные рабочие столы — очень старая тема, которая впервые появилась аж в 1985 году. И в Linux, сколько себя помню, она всегда была частью практически любого дистрибутива и никогда я не понимал, зачем она нужна. Казалось, что панель с открытыми приложениями справляется не хуже и этот отдельный экран с рабочими столами — это какой-то неудобный костыль. Но всё поменялось после того, как я попробовал Mac OS на своём тогдашнем рабочем Макбуке. Оказывается, если иметь возможность переключаться между рабочими столами одним взмахом по тачпаду, то эта фича сразу становится полезной, удобной и даже продуктивность, кажется, возрастает!
Собственно, главный секрет раскрыт: переключение между рабочими столами должно быть максимально быстрым и ненапряжным. Но ни одна ОС на данный момент не позволяет мышкой переключать рабочие столы так же легко, как тачпадом (а вот с ним уже везде всё хорошо) и я всерьёз задумался о покупке Magic Trackpad 2 (благо поддержка в ядре Линукса присутствует), но Линукс не был бы Линуксом, если бы не было возможности настроить что угодно и как угодно и в Gnome для решения таких проблем есть специальный инструмент — расширения (прямо как в браузере)! Нахожу расширение на сайте расширений, дёргаю галочку прямо в браузере и готово — я могу переключать рабочие столы скроллом по верхней панели. Не надо целиться по кнопочкам — просто дёрнуть мышь вверх и прокрутить колесо! Надобность в тачпаде отпала.
Виртуальные рабочие столы в Gnome только на первый взгляд кажутся максимально похожими на те, что есть в Мак ОС (не знаю в деталях, как оно в Windows), на самом же деле, между этими двумя реализациями есть принципиальная разница, которая меняет способ взаимодействия. Суть в том, что если в Мак ОС рабочие столы — это нечто существенное и вполне осязаемое (рабочий стол можно создать, нажав на плюсик, на каждый стол можно назначить свои обои, они удаляются только по действию пользователя и т.д.), то в Gnome рабочие столы — это такой расходник, единственной задачей которого является содержание в себе каких-то окон. Это проявляется как в том, что нельзя создать виртуальный рабочий стол иначе, чем перетащив на него окно (если перетащить окно в промежуток между столами, то на этом месте создастся новый рабочий стол и окно поместится в него), так и в том, что если на рабочем столе закрыть все окна и уйти с него, то он автоматически схлопнется, никого ни о чём не спросив. После Мак ОС такое поведение казалось каким-то нахальным, мне по-привычке хотелось самому решать, когда рабочий стол создастся, а когда удалится, но потом я понял, в чём была задумка.
Мак ОС приучила меня всегда иметь три виртуальных рабочих стола, каждый для своей цели — один для редактора кода, другой для браузера и консоли, третий для мессенджеров и развлечений. И это работало ровно до тех пор, пока не появлялась потребность в открытии ещё двух браузеров и ещё одного редактора кода, чтобы что-то проверить и закрыть обратно. Создавать новые рабочие столы, чтобы их потом удалить было слишком муторно (два клика, одно долгое наведение и одно перетаскивание окна), поэтому новые редакторы кода отправлялись на стол для редакторов кода, браузеры — к браузерам и так далее. И вот, на одном рабочем столе у меня уже размещалось по 2-3 развёрнутых на весь экран приложения. И как между ними переключаться? — Здравствуйте старые-добрые alt+tab и панель запущенных приложений. Вся прелесть виртуальных рабочих столов сразу улетучивается.
Gnome же позволяет легко создавать новый рабочий стол под любое приложение и так же легко удалять его, когда он больше не нужен. В итоге, стратегия заключается в том, чтобы размазывать окна по рабочим столам одним слоем, и тогда проскролливая рабочие столы можно будет добраться до любого приложения без использования панели открытых приложений и хоткеев. Когда нужен ещё один редактор кода, я просто располагаю его в отдельном рабочем столе, а когда я закрою этот редактор, его рабочий стол удалится сам. Теперь понятно, почему док в Gnome всегда спрятан (разработчики уже подумывают, не пора ли его вовсе выпиливать из системы) — он просто не нужен!
В Мак ОС тоже можно работать подобным образом, но придётся пользоваться полноэкранным режимом, который меня всегда раздражал. Но кому-то он даже нравится. Про Windows не скажу — не разбирался.
А как вы справляетесь с большим количеством окон на работе? Как используете виртуальные рабочие столы или как обходитесь без них?
Эту статью нам прислал читатель сайта – Булат Камалов. Вы также можете прислать свой материал на почту [email protected]
Пишу на .NET и часто приходится работать с несколькими окнами одновременно. Благо, на Win10 есть возможность создавать несколько рабочих столов и переключаться между ними комбинацией Win+Shift+Left/Right, что лично для меня вполне удобно. А к Линукс я вообще негативно отношусь ибо пытался с ним подружиться несколько раз, ставил несколько разных дистрибутивов, но данная ОС как была “не для людей”, так для меня таковой и осталась. Потому что практически никогда проблем с Win10 у меня не возникает, всё устанавливается и работает без проблем, никаких мифических БСОД на каждый чих и зависаний, про которые так любят рассказывать линуксоиды. А Линукс вызывает одну головную боль, ибо софта, которым ты привык пользоваться, там просто нет, а альтернативы всегда имеют свое “но”, а в некоторых случаях установка приложений превращается в целый квест. А оно мне надо?
Винда действительно хороша, всё в ней здорово и если всё устраивает, действительно нет смысла на что-то переходить. Сейчас нет проблем ни с интерфейсом, ни со скоростью, ни свирусами. Майкрософт прям очень радуют в последнее время.
Проблемы с софтом в Линуксе — тоже правда. Действительно кучи софта просто нет. Я сам очень рад, что пользуюсь только кроссплатформенным софтом и могу очень просто без головной боли перескакивать с Винды на Мак и с обоих на Линукс. Но это уже личное решение, софтверная гигиена, так сказать :) И вот ТОЛЬКО если нет проблемы с софтом (для фронтенда, например, всё есть) уже можно пробовать разное и выбирать систему не по тому, какой софт там заводится, а по тому, где больше понравился интерфейс, где удобнее работа с обновлениями, где визуал более приятный и т.д. :)
И вот когда голова не болит от плясок с Wine, становится видно, как разработчики Gnome упарываются в юзабилити, какие идеи вкладывают в рабочее окружение, как, оказывается, здорово, когда 95% всего софта можно установить через магазин приложений без скачивания установочников с сайтов, как здорово, когда обновления системы не заставляют отвлекаться от работы, как здорово иметь возможность настраивать всю систему под себя расширениями так же, как мы это делаем с браузером. В общем, Винда — это круто, но в Линуксе есть своя прелесть :)
Я тоже .net разработчик, но у меня сложилось полностью противоположное мнение. Работаю в kde neon в jetbrains rider + data grip + vs code. Ресурсов дистрибутив кушает сильно меньше, чем винда, так что в принципе я комфортно работаю на стареньком Thinkpad T440p. Недавно появился новый проект с использованием service fabric и пришлось вернуться на windows и vs studio т.к. rider не умеет в SF. Тут тебе и обновления без спроса по ночам и отсутствие нормального терминала. Git bash под windows – убожество если честно. Пришлось поставить windows terminal, но всё-таки не то. VS Studio раньше считал лучшей ide. Но после перехода с rider остро ощутил как она уже морально устарела, какая она прожорливая и неповоротливая. UX сильно хуже, чем в том же rider. Да и производительность решарпера не очень если сравнивать с rider, где он встроен. Теперь 16Гб ОЗУ 24/7 под завязку, ноут лагает, проблемы с драйверами – ей видите ли (винде) лучше знать какой драйвер ставить. Поставишь свой – перезатрет, в политики лезть нужно. Телеметрии намерено отправляет – всякие shutup10 ставить нужно. Рекламу и пачку предустановленной хрени из пуска удалять нужно. В общем не вижу в этом ничего юзер френдли и стабильности.
Но справедливости ради хочу добавить, что не на каждом девайсе линукс дистрибутивы работают из коробки хорошо. На некоторых это действительно головная боль
По моему личному мнению удобнее i3wm для большого количества открытых окон и производительности
Тайлинги — это уже некст левел :) Пока я не дорос до такого :) Смущает перевес в сторону хоткеев и, опять таки, рабочие столы более жёсткие. Их фиксированное количество, можно окна закрепить за определёнными столами — слишком постоянно для меня :) Приложения как вкладки — какой-то оверхед, по-моему. Гном нравится своей простотой — минимум фич, идеально дружащих друг с другом, которые доступны и с мыши и с клавиатуры. Но это я, наверное, слишком лайтово компьютером пользуюсь просто :)
Если у человека есть необходимость работать единовременно с более чем 4 окнами, то либо он что-то делает очень сильно не так, либо нужно менять работу. Мозг просто физически не способен продолжительное время функционировать в таком режиме. А со всем остальным справляется дополнительный монитор. Вся идея кучи рабочих столов – это шиза для тех, кто пытается делать все и сразу. А на выходе не делает нормально ничего.
Тем не менее, автор, ты крут. Глупо, наверное, надеяться на то, что сама редакция кеддра способна писать что-то хоть отдаленно подобное этой статейке
И сейчас все фронтендеры побежали менять работу :)
3 браузера — это представители трёх движков, на которых обязательно надо тестить то, что я делаю — Блинк, Гекко и Вебкит (Хром, Фаерфокс и Сафари в виртуалке)
3 редактора кода — не частый случай, обычно он, конечно, один :) Но бывает, что надо использовать либу, которую мы вынесли в отдельный проект, а так как документацию мы на неё, естественно, не писали, приходится открывать рядом её исходник и исходник третьего проекта, где мы эту либу использовали, чтобы оттуда всё скопипастить :)
Собственно, этим и хорош Гном: в основное время — 1 редактор кода, одна консоль и два браузера (чекать мобильную и десктопную вёрстку), когда всё сделано, открываем ещё два браузера, чтобы чекнуть в них, если надо — ещё два редактора кода. А когда всё закончится, схлопываемся обратно до 1 редактор кода, одна консоль и два браузера.
А может легче “нормально делать и нормально будет”? К примеру, писать документацию для либы, поддерживать Confluence в релевантном состоянии? Нет?
Это называется культурой разработки. Как бы must have для любой команды, отличной от толпы школоты
Манифест Agile гласит: “Работающий продукт важнее исчерпывающей документации”. Если код написан хорошо, то он вполне может сам выступать в качестве документации :) И если либа должна использоваться в двух-трёх проектах, то лучше потратить по часу на проект на изучение исходников, чем потратить полдня на написание качественной документации (полдня — это ещё оптимистичная оценка). Так что чистая экономика подсказывает, что коммерческой организации не выгодно писать документацию на каждый хелпер. Вот когда этих проектов будет больше или когда в организации будет текучка, вот тогда будет важно всё подробно расписать.
Единственное место, где я видел полное покрытие всего-всего Конфлюенсом — это банк, который вполне мог тратить на разработку одной формы месяцы времени с консультациями с юротделом, с тестированием дизайна на фокус-группе, с выбиванием сотки в покрытии тестами. И занимались там этой документацией отдельные люди, которые даже от руки писали в маркдауне и умели простую вещь описать так подробно, что становилось ничего не понятно :) Вот там экономические законы не работали — деньги были бесконечными и нечего там было экономить, а последствия ошибки могли быть слишком велики.
Обычная же фирма “рога и копыта”, которая пилит свой сервис и поддерживает парочку мобильных приложений, конечно, уже имеет другие приоритеты, так что момент вполне рабочий и я бы не назвал его не правильным.
Отличное оправдание быдлокодинга природой бизнеса клиента. Прямо классика. Зачитаешься. Я вот своим тимлидам за отсутствующую или нерелевантную документацию, как и за swagger хреновый бэкэндщикам, депремирование устраиваю. Лютое. Ибо нефиг плодить бардак. Принцип о нормально делай – нормально будет актуален везде. А вот некоторыми принципами аджайла я, в угоду пользы проекту, бизнесу клиента и здоровью самой команды, с огромным удовольствием подтираюсь.
Ваше дело ) Если у вашей компании есть деньги на эту волокиту — то поздравляю. И если есть возможность работать по водопаду, исполняя все инструкции, то аджайл действительно не нужен. Но вот у нас такой подход расценивался бы как итальянская забастовка ибо задачи меняются, проекты плодятся и отмирают, то, что вчера было важным, сегодня отправляется в мусорный бак, потому что заказчики поменяли интересы или законы поменялись. Тратить кучу времени на то, что может отправиться в мусорный бак — довольно демотивирующее занятие, не говоря уже об экономической нецелесообразности.
по поводу робочих столов все намного проще в cinnamon. Попробуйте как нибуть. И пустой робочий стол зоздать можно, и не захлопивается ничего
Так наоборот удобно, когда оно само схлопывается и создавать стол отдельной кнопкой — слишком лениво. Собственно, об этом статья )
В Маке пользуюсь всегда режимом фуллскрина ) только от вас узнал, что там можно статичный стол создать. В win10 примерно по такому-же принципу – приложение на рабочий стол, переключение кнопкой на М720 (зажал большим пальцем и движением вправо-влево мыши переключаюсь). Linux только по ssh, как-то не прижился он у меня как хост система, только на серверах. А еще на win10 пришлось придумывать костыль для переключения раскладки нажатием CAPS Lock :), на макбуке влюбиолся в такой вид переключения.
Хорошо вам :) Меня всегда раздражало, что в этом фулскрине всегда панель верхняя прячется и вылезает, когда касаешься верха экрана мышью. Браузером при таком раскладе пользоваться становится нереально :)
А капслок — да, супер-удобно :) Всегда пользовался именно им на Линуксе, был очень рад, когда и на Маке так можно стало (у меня как раз макбук тогда появился). Жаль, что Майкрософт отстают.
В Фуллскрине верхняя строка прячешься для того чтобы в неё постоянно не бегать. Так как все функции и так доступны в окне приложения. И да не мешало бы Вам горячие клавиши начинать запоминать.
Да пусть прячется, мне не жалко, но пусть не выскакивает со сдвигом всего, когда я тянусь к вкладке браузера, которая тоже сверху ) Док, кстати, в фулскрин-режиме не так быстро выскакивает, там надо навести курсор на край и ещё немного протолкнуть “за край”, а эта гадина сверху выскакивает от малейшего дуновения.
Ну и, кстати, само это прятание непонятно для чего нужно. У маков же экраны и так высокие, к чему эта экономия пятнадцати пикселей? И время не видно больше. В общем, фулскрин-мод вообще не для меня, не понимаю его совершенно.
А хоткеи — это тоже не для меня. Пусть лучше система нормально работает с мышью, чем я буду зазубривать какие-то там комбинации.