LINUX.ORG.RU

Избранные сообщения HerrWeigel

Усилитель 4G на дачу.

Форум — Talks

Друзья, разъясните. Дачный посёлок в 5 км от города, в котором есть БС всех операторов с 4G). Вокруг дач густой лес. На втором этаже дома мобила как-то ловит связь и неспешный интернет. На первом ж..па. Порекомендовали приемник-усилитель 3G/4G. Вроде как на трубу пришпандорил, по витой паре в роутер и все довольны, вроде как. Бюджет 10-12 килорублей. Очень много девайсов. Много противоречивой инфы. В общем, кто реально юзает в похожих условиях, посоветуйте.

 , ,

Deleted
()

Android, зонды, безопасность, СПО, паранойя

Форум — Mobile

Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.

Disclaimer2: Все описанное является суммой наклопленного мной опыта вперемешку с моим личным мнением. Пишите комменты, будем улучшать-дополнять-чинить

Уровень прошивки

Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:

  • Любое приложение (даже не требуещее никаких прав) может с ним общаться.
  • Gapps имеют доступ к сети.
  • Gapps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • Gapps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • Gapps — нереальное огромное количество кода. Стоковый образ (если верить opengapps) будет весить около 700Мб.

ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?

Сложный вопрос, на самом деле. Есть три варианта действий:

  • Новый и простой, и профитный способ. Появилась прошивка «LingeageOS for microG». Если ваше устройство поддерживает её, просто ставьте её и наслаждайтесь. Fdroid+MicroG+пуши+signature spoofing+unlp+OTA-обновления из коробки
  • Самый простой способ. Если ваш андроид достаточно старый (на достаточно новом не удастся отключить самый главный компонент gapps), из Настройки->Приложения отключите все, связанное с Google (особенно, Google Service Frameworks):
    • root не требуется;
    • push-уведомления работать не будут;
    • на устройстве останется огромная и потенциальная куча гугловского дерьма, хоть и менее активная.
  • Способ посложнее. Накатываем root и вручную удаляем все пакеты и библиотеки, требуемые гуглу:
    • требуется root и разблокировка загрузчика;
    • минимальное количество зондов без смены прошивку на полностью опенсорсную;
    • увы, в последних версиях андроида вам, скорее всего, придется оставить несколько пакетов (вроде GoogleSetupWizard), иначе система не загрузится.
  • Самый профитный способ. Ставим альтернативную прошивку (или мотаем до следующей секции и покупаем устройство с пгавославной прошивкой без зондов из коробки). Наслаждаемся.
    • Требуется root, разблокировка загрузчика, шаманство и местами смена устройства.

Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?

Вдоль

Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.

MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).

Уровень софта

Без гуглозондов жить есть!

https://f-droid.org/ — каталог с опенсорсным софтом.

Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps

  • Yalp store. Позволяет ставить приложения из Google Play (да, иногда это все-таки нужно), в том числе через общий аккаунт. Не требует зондов.
    • Позволяет так же выкачивать купленные приложения (но не факт, что они заработают: они при работе могут проверять лиценизию через gapps, возможно, тут может помочь microg).
    • Альтернативно, воспользуйтесь моим решением для выкачивания софта прямо в свой репозиторий f-droid.
  • K-9 Mail. Почтовый клиент.
  • DAVDroid. Синхронизация контактов с owncloud/nextcloud.
  • Gadgetbridge. Синхронизация с умными часами и браслетами (pebble, mi band и некоторые другие)
  • NewPipe. Клиент для YouTube. Умеет воспроизводить видео в фоновом режиме как музыку, загружать файлы.
  • Odyssey. Просто материальный музыкальный плеер, но в последнее время очень нужный, т.к. вендоры повадились заменять в прошивке плеер на Google Music.
  • Набор простых и красивых затычек для различных приложений — simple mobile tools.
  • Файрволл AFWall+ файрволл (имеет Xposed модуль для расширения возможностей)
  • Amplify Battery Extender.
  • DNS66.
  • KDE Connect.
  • OpenKeychain.
  • OpenVPN FOSS.
  • Картография и навигация: Maps.Me (приз симпатий от комментаторов), OsmAnd (приз глюкалова от меня, но щито поделать).
  • Список стал очень жирным. Пока новые элементы не добавляю, думаю над критериями включения в него софта.

Если вы будете ставить проприетарный софт, помните о следующем:

  • Желательно зайти в настройки приложения и вручную запретить доступ ко всем ненужным разрешениям, дабы не промахнуться в нужный момент.
  • Отключите приложению фоновый доступ к сети (если у вас свежий Android) или вообще доступ к сети (если у вас стоит файрволл).
  • Малвари вроде «Сбербанк Онлайн» вообще лучше создать отдельный аккаунт на телефоне.
  • Яндексовским приложениям нельзя давать доступ к местоположению. Вообще никаким — все сливают.
  • Проприетарь может читать названия аккаунтов, даже не принадлежащих ей. Называйте их максимально обще, т.е. вместо «sportloto@syncserver.com» делайте «contacts sync».

Права суперпользователя

Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.

Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.

XPosed

XPosed — опенсорсный фреймворк для низкоуровневых хаков.

  • Не доступен для свежих андроидов.
  • Позволяет заставить не увидеть root всякие «Сбербанки Онлайн».
  • Имеет кучу некрофильских и неопенсорсных модулей. Осторожнее.
  • Легким движением руки может окирпичить прошивку.
  • Полезные модули:
    • PlayPermissionsExposed
    • YouTubeAdAway (но все-таки советую использовать NewPipe, LightTube, WebTube, SkyTube или MiniTube. Тысячи их!)
    • XPrivacy — по своей сути это «песочница» для любого, даже системного, ПО. Xprivacy применяет правила ко всему ПО. Эти правила можно создавать самому или качать готовые. То есть, к примеру, если установлено нечто местами полезное, но попутно показывающее свою рекламу, Xprivacy можно просто запретить этому ПО доступ в сеть. Или если очередная косынка хочет интернет, список контактов, доступ к микрофону и камере, то с Xprivacy это легко и просто запрещается конкретно этой гадости и она даже будет при этом работать не имея доступа к тому, что ей будет запрещено.

Уровень устройства

Тут тоже всё плохо. Выбор:

  • Рандомный флагман с хорошей поддержкой LineageOS (CyanogenMod). Поддержка, вероятно, будет хорошей, секьюрити-апдейты будут приходить долго (например, для htc desire hd цианоген обновлялся до самого конца — декабря 2016 года), но вот версия андроида, скорее всего, застрянет. Обычно дорого. Можно искать по списку официально поддерживаемых линейкой устройств.
  • OneplusOne / Wileyfox Swift 1. Поставлялись с CyanogenOS, имеют хорошее коммьюнити разработчиков, будут долго обновляться в софтовой части. В железной — все плохо. 1+1 уже довольно старый и хорошие запчасти купить сложно. Wileyfox изначально имел несколько проблем, в т.ч. слабенькую батарейку. Компенсируется ценой, местами можно найти новое в продаже. Довольно бюджетно.
  • Fairphone 2. Очень дорого, очень хорошо. Но это в теории, как там на практике — хз, не пользовался, отпишитесь.
  • Рандомный телефон с официальным портом los. Сойдет, главное, чтобы фатальных багов в порте не было. Долгой жизни порта не ждите.
  • Рандомный телефон с васянским los. Совсем плохо, но если телефон уже куплен, ничего не поделать.
  • Рандомный телефон с васянским ведроидом, основанным на стоковой прошивке / без исходников / проч. Лучше такое не ставить, а подготовить прошивку самостоятельно, смотрите выше и ниже.

Следует также заметить, что:

  • Существует несколько устройств с CyanogenOS, без доступной Cyanogenmod. В комплекте идут сервисы microsoft, gapps и много разной другой блотвари. Исходники обычно зажабены. Пример устройств: Wileyfox Spark, Wileyfox Swift 2(|+|x).
  • Выбирая устройство, так же загляните на его страничку на 4pda. Ресурс хоть и васянский, но очень полезный: можно увидеть список доступных прошивок, FAQ по типичным проблемом, список самых вероятных заводских проблем (которые можно проверить еще перед покупкой).

Уровень физической безопасности

Для чего нужна физическая безопасность:

Допустим, ваш девайс попал в руки злоумышленнику.

  • Во-первых, вы хотите, чтобы он не имел никакой возможности прочитать важные файлы с вашего телефона (кейз ФБ-1).
  • Во-вторых, вы хотите узнать, не добавил ли он кейлоггеров в ваш загрузчик (кейз ФБ-2).

Сразу скажу: всё плохо. Вам может показаться, что заботливые производители позаботились о вас, залочив загрузчик вашего телефона и не позволяя его разблокировать, не удалив все данные с телефона.

Я бы на вашем месте на это не рассчитывал.

  • Аппаратные защиты часто не надежны и опираются на принципах безопасности через неясность, в них переодически находят уязвимости
  • На прекрасных, казалось бы, телефонах Xiaomi вы не сможете разблокировать загрузчик, если с Xiaomi что-либо случится: разблокировка производится с участием интернета при помощи (работающей только под Windows) программы, требующей их аккаунта и доступа к интернету. У HTC похожая ситуация, но в несколько более мягких условиях.
    • Скорее всего, это доставит неудобств именно вам, а не злоумышленнику
  • Всякие проприетарные системы полнодискового шифрования тоже не выдерживают проверок специалистами.

Выводы:

  • Для хранения ваших секретных файлов в безопасности от ФБ-1 используйте, к примеру, Secrecy.
  • «Таблеток» от ФБ-2 на сегодняшний день нет. Промбируйте телефон при помощи скотча и волос и не расставайтесь с ним.
  • Лучше все-таки не хранить никакие важные данные на телефоне.

Модули сотовой связи

В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —

  • Фактически отдельное устройство, обычно имеющее максимальный доступ к процессору, памяти и переферии. Зачем это делают — черт знает. Возможны исключения, нужно уточнять в каждом отдельном случае.
  • Идентифиционный модуль, который постоянно разговаривает с воздухом.
  • Куча проприетарного кода, который никто не анализировал. В тех немногих случаях, когда анализировали — находили кучу всего интересного.
  • Работает это все на протоколах, местами разработанные в 80-х годах.

Так что тут все настолько плохо, что я даже предложить ничего не могу. Страдайте.

Вроде, все, что хотел сказать. Выдыхаю

 , , , ,

derlafff
()

Pokemon GO + гугл + АНБ + картографирование всего!

Форум — Talks

Дорогие мои хомячата, хотите расскажу вам интересное об игре «Pokemon Go»? Linux тут при том что она запускается на яблооси и андроиде. Пруфов не будет.
— Разработчик игры: Niantic Labs. Внутренний старт-ап Гугла. Связи Гугла с Большим Братом — гуглите (лол!) сами, я пойду чуть глубже.
— Ниантик основан Джоном Хэнком (John Hanke), так же основавшим Keyhole, Inc ( «Замочная скважина» ) — проект для картографирования поверхности, выкупленный все тем же Гуглом и создавшим на его базе Гугл-карты, Гугл-Земля, Гугл-Стритс.
— А теперь внимание, следите за руками! Keyhole, Inc спонсировался венчурным фондом In-Q-Tel. Это фонд ЦРУ, вполне официально созданный в 1999 году.
Посредством вышеуказанных аппликаций, были решены важные задачи:
— Обновляемое картографирование поверхности планеты, включая дороги, базы и тд. А ведь когда-то, карты-километровки считались стратегическими и секретными. В гражданские карты даже специально вносились погрешности.
— Автомобили-роботы от Гугл-Стритс заглянули во все переулки, картографировав наши города, машины, лица…
Оставалась одна проблема. Как заглянуть в наши дома, подвалы, тенистые аллеи, казармы, госучереждения и так далее, по списку?
И что бы вы думали? Все та же конторка, Niantic Labs, выпускает гениальную вирусную игрушку, новомодной технологии дополнительной реальности.
Стоит вам скачать приложение, и дать ей соответствущие права (доступ к камере, микрофону, гироскопу, GPS, подключаемым устройствам, в том числе — носителям USB и тд), и ваш телефон тут же завибрирует, сообщая о нахождении первых трех покемонов! (Первая тройка всегда появляется сразу и поблизости).
Игра потребует заснять их со всех сторон, счастливо наградив вас первым успехом. А заодно получив фото помещения где вы находитесь, включая координаты и угол наклона телефона.
Поздравляю вас! Вы только что провели съемку вашей квартиры! Дальше объяснять?
Кстати, устанавливая игру, вы принимаете условия оферты. А она — не простая. Niantic вас официально предупреждает: «Мы сотрудничаем с государственными структурами и частными компаниями. Мы можем раскрыть перед ними любую информацию о вас или вашем ребенке...». Но кто же это читает?
А еще там есть пункт 6: «наша программа не имеет возможности выполнять запрос вашего браузера „Do not track“ -»Не следи за мной". Другими словами — следили и будут следить.
Итак, помимо добровольного и радостного картографирования всего и вся, открываются еще забавные возможности.
Например, захочется сами_знаете_кому узнать — что сейчас делается в здании, скажем, ГосДумы? И у десятков депутатов, уборщиц, журналистов — завибрируют телефоны: «Пикачу рядом!!!». И счастливые граждане извлекут свои смартфоны, активируя камеры, микрофоны, GPS, гироскопы… И закрутятся на месте, глядя в экран и нагружая каналы связи терабайтами видеопотка…
Бинго! Мир снова изменился, мир стал другим. Добро пожаловать в новую эру.

 , , , ,

Promusik
()

А как сконвертировать PDF в TXT (или HTML) без разрыва строк в абзацах?

Форум — Desktop

Собственно, нужно научится конвертировать PDF в TXT (или HTML) без разрыва строк в абзацах. Давно у же мучаюсь и не знаю как это сделать.

Пробовал pdf2htmlEX и pdftotext с различными опциями. Ни то ни другое не умеет, или я опций не нащупал.

Я понимаю, что PDF - следствие версточного формата, и разрывы строк у него принудительные. Но может быть есть какой-то конвертор который интеллектуально видит абзацы и не разрывает строки на них?

Образец текста: http://mcst.ru/files/5616f6/f20cd8/50d174/000000/doklad_ao_mtsst_i_pao_ineum_...

 , ,

Xintrea
()

Как добавить символов в раскладку?

Форум — Desktop

Здравствуйте.
Подскажите, кто-нибудь знает как добавить в раскладку символов?
Например, я не хочу иметь украинскую раскладку, но хочу иметь символы Ї, ї.
Хочется сделать как-то типа чтобы win+и выдавало ї, а shift+win+и выдавало Ї.

OS Linux mint.

 ,

Piter_prbg
()

записать bootable iso на flash

Форум — Desktop

Здравствуйте, в общем надо переустановить windows, а компьютера с windows нет и нет cd rom, пытаюсь развернуть iso с помощью dd, но почему-то не грузится потом с этой флешки, в общем кто-нибудь знает, как записать iso на флешку?

 ,

IvanR
()

Странное поведение Selenium WebDriver + Python с Facebook

Форум — Web-development

Осваиваю Selenium WebDriver. Пытаюсь заполнить профиль на фейсбуке. Когда давлю на «Редактировать профиль, попадаю на страничку редактирования. Пытаюсь заполнить родной город. Selenium находит линк, давит, аяксом подгружается форма. В этой форме находит инпут, пишет туда родной город, из выпадающего списка вариантов выбирает нужный, кликает. Все окейна. Но когда пытаюсь засабмитить форму, то не могу обнаружить кнопку. ни по имени, ни как либо еще.
Caught exception: <class 'selenium.common.exceptions.ElementNotVisibleException'> Message: u'Element is not currently visible and so may not be interacted with' ;
в inspect element давлю на кнопку, в цссках нету ничего похожего на display:none

Паста логина и апдейта профиля проблема в _update_hometown() да в принципе проблема в любой форме на той странице. все подгружаются аяксом, все выглядят одинаково, как внешне, так и внутренне.
Короче, то ли лыжи не едут, то ли я...

 ,

foreigner_web
()

Open Broadcaster Software — свободное ПО для записи и стриминга видео

Новости — Мультимедиа
Группа Мультимедиа

Состоялся выпуск OBS Multiplatform - свободной программы предназначенной для записи скринкастов, видеотрансляций. Основные возможности:
• Кодирование видео с использованием H264 (x264) и AAC.
• Поддержка Intel Quick Sync Video (QSV) и NVENC.
• Неограниченное количество сцен и источников
• Видеостриминг по протоколу Real Time Messaging Protocol (RTMP) на такие видеохостинги как Twitch, YouTube, DailyMotion, Hitbox и др.
• Выходной файл в формате MP4 или FLV.
• Использование ресурсов GPU для видеозахвата для достижения высокой производительности
• Билинейная или lanczos3 передискретиза́ция (ресемплинг)
• Поддержка различных плагинов
Исходный код доступен на GitHub
Также есть ppa-репозиторий для Ubuntu 14.04 ppa:obsproject/obs-studio
Пакеты для ArchLinux, OpenSUSE, оверлей для Gentoo.
Также есть сборки и под другие платформы.

>>> Официальный сайт

 , ,

w1nner
()

Где выпить хорошего пива?

Форум — Talks

Питерцам привет

Где можно за разумные деньги в вечер субботы у вас выпить приятного пива? Не мочи сорта «разливное», а чего-то, что не стыдно взять в рот?

Заранее спасибо :)

 , ,

hc
()

BE::Shell или не плазмой единой

Галерея — Скриншоты

Доброго вечера всем. Сегодня я бы хотел рассказать о замечательной замене плазмы для KDE под названием BE::Shell. Это весьма гибко настраиваемая оболочка, позволяющая использовать многие элементы (в том числе Label с поддержкой html) и стилизовать их с помощью qss. Это предоставляет неплохие возможности для творчества. Пример конфига можно увидеть на скриншоте, а конфиг целиком - взять в приложенном архиве. Хотя штука это довольно малоизвестная и пилится всего одним человеком, но пилится весьма активно, и при этом производит впечатление целостного и зрелого продукта. Сразу хочу предупредить, что в качестве дефолтного конфига используется совершенно пустой стол, что может озадачить установившего его человека, так что стоит сразу создать свой или использовать найденный на просторах интернета конфиг.

Использую я все это дело с XMonad.

Пустой стол
Куда же без ЛОРа

Конфиг

>>> Просмотр (1920x1080, 285 Kb)

 ,

keyran
()

Дефолтно, но вполне уютно

Галерея — Скриншоты

Решил более не употреблять в пищу кактус (читай - пытаться выпилить systemd из Debian'а) и перейти наконец на Gentoo. Что, собсно, в ушедшем 2014 и сделал. Ну а еще решил вернуться к старой концепции - влепить панельку с наиболее часто используемым софтом в верхний угол экрана. Стандартное меню на Homerun сменил, так как дефолтное слишком громоздкое, а другое - слишком аскетичное. Как обычно, описание используемых вещей:

  • KDE 4.14.3 в минимальной комплектации
  • Тема Plasma: старый добрый Ronak
  • QtCurve: Flat Zephyr, цветовая схема и обои оттуда же
  • KWin: Simplicity
  • Шрифты: Cuprum и Pragmata Pro с Infinality

Раскаиваюсь за жэпэг, png много весил. Вот в нормальном качестве http://postimg.org/image/h93bh6dzf/full/

>>> Просмотр (1920x1080, 175 Kb)

 ,

Meyer
()

Телевизор + Arduino + светодиоды, в результате нереальная круть. (Adalight)

Форум — Talks

Суть такова: http://i.imgur.com/QuuZP6H.webm

Чтобы запилить, (очень легко, как оказалось), нужны:

  • Телевизор
  • Arduino
  • Светодиоды
  • Немножко проводов

Полный подробный мануал + еще демо: https://learn.adafruit.com/adalight-diy-ambient-tv-lighting/overview

// пошел заказывать себе arduino.

 , , ,

xinu
()

Веб-разработка в Vim

Форум — Web-development

Предлагаю обсудить и поделиться опытом по веб-разработке в Vim.

Я использую Vim в терминале termite (со своими патчами для дефолтного копипаста и прочее) с цветовой схемой gruvbox: как для терминала, так и для Vim.

Этот клавиатура-ориентированный vim-like терминал я упомянул не столько потому, что у него реализованы режимы как Vim (insert mode, selection mode, выделение клавиатурой включая блочное), а потому, что у него есть приятная фича (которую можно наблюдать в iTerm2 для OS X) при работе Vim'а в нём, а именно цвет курсора изменяется в зависимости от цвета символа, на котором находится курсор, а также при выделении цвет выделения повторяет цвет слов/строк (но без инвертирования где нужно, может еще допилят), скриншот.

Менеджер плагинов:

Перед обсуждением плагинов и настроек, хочу подчеркнуть почему я использую менеджер плагинов vim-plug: перепробовав все известные менеджеры плагинов, включая недоменеджер pathogen, остановился именно на vim-plug потому, что он самый быстрый (параллельная установка/обновление, к-во потоков настраивается), имеет приятный интерфейс, краткий синтаксис, а самое главное позволяет настроить загрузку или отключение плагинов по filetype и/или первому вызову самого плагина, это не только ускоряет старт/работу Vim, но и помогает разрулить конфликты некоторых плагинов, простой пример:

Plug 'tpope/vim-endwise',   { 'for': [ 'ruby','vim','sh','zsh' ] }
Плагин endwise будет загружен только для ft=ruby,vim,sh,zsh, т.к. если этот полезный плагин работает одновременно с не менее полезным плагином delimitMate, то возникает конфликт в файлах с ft=css,js и везде, где после открытия скобки нужен автоматический переход на следующую строку и автозакрытие скобки.

Кроме всего прочего, отдельно от веб-разработки-related для самого вима у меня такое:

Автоматическое переключение на английский в Normal mode и обратно на предыдущий в Insert mode:

Конечно же нужно решать проблему с локалями (т.к. веб-разработка, в отличие от программирования иногда ведется на отличных от английского языках), а именно с неудобством при их переключении в Normal mode и обратно, самое лучшее решение, это установка в систему xkb-switch + плагин в Vim для него.

Plug 'lyokha/vim-xkbswitch'
let g:XkbSwitchEnabled       = 1
let g:XkbSwitchLib           = '/usr/lib64/libxkbswitch.so'
let g:XkbSwitchIMappings     = ['ru']
let g:XkbSwitchSkipIMappings = {'*' : ['[', ']', '{', '}', "'"]}
Теперь не нужно переключать на английский входя в Normal mode и на русский обратно в Insert mode, переключение происходит автоматически. Очень удобно.

Линейка номеров строк:

set nu
set nuw=4
autocmd InsertEnter * set nornu
autocmd InsertLeave * set rnu
в Insert mode - с номерами строк всё как обычно, в Normal mode (точнее после первого входа в insert и выхода обратно в normal) включается типа линейки: скриншот.

Автоматическая паста с отступами:

Чтобы навсегда забыть эту проблему и не включать перед пастой каждый раз режим пасты или использовать хитрые хоткеи, можно просто добавить настройку:

let &t_SI .= "\<Esc>[?2004h"
let &t_EI .= "\<Esc>[?2004l"
inoremap <special> <expr> <Esc>[200~ XTermPasteBegin()
function! XTermPasteBegin()
  set pastetoggle=<Esc>[201~
  set paste
  return ""
endfunction

Замена заменяемого без удаления (проблема забивания иксового буфера обмена):

Чтобы заменить слово или кусок окруженный делиметрами без удаления в иксовый буфер, можно использовать такую настройку на хоткей S :

nnoremap <silent> S :set opfunc=PasteReplace<CR>g@
function! PasteReplace(type, ...)
    if a:0
        silent exe "normal! `<" . a:type . "`>p"
    elseif a:type == 'line'
        silent exe "normal! '[V']p"
    elseif a:type == 'block'
        silent exe "normal! `[\<C-V>`]p"
    else
        silent exe "normal! `[v`]p"
    endif
endfunction
nmap SS S$
Теперь если нужно заменить слово без его удаления, можно просто: Sw , Si" , Si( , и т.п.

Проекты/сессии:

Плагин vim-startify - стартовый экран, можно настроить на сессии и букмарки, чтобы каждый раз не открывать то же самое в сплиты/табы/буферы.

Документация:

Для открытия документации в браузере (как минимум для того, что нас интересует: HTML, JavaScript, CSS, SCSS, LESS, Ruby, Rails, Django, PHP и т.п.) исходя из из ft= и положения курсора, удобно замапить на F1:

Plug 'Keithbsmiley/investigate.vim'
nnoremap <F1> :call investigate#Investigate()<CR>

Автокомплит и сниппеты:

В отличие от YouCompleteMe, автокомплитер neocomplete не тормозит (при работе и старте), не нужен питон (но нужен lua), а всё остальное такое же (для веб-разработки). Интегрируется с родным движком сниппетов neosnippet, который работает как с родными, так и универсальными vim-snippets (объединенные Snipmate & UltiSnip).

Настройка для навигации по комплиту через Tab (сам комплит всплывает автоматически, можно настроить обратное):

imap <expr><TAB> neosnippet#expandable_or_jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : pumvisible() ? "\<C-n>" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ? "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
if has('conceal')
  set conceallevel=2 concealcursor=i
endif

ZenCoding/Emmet:

Полнофункциональный Emmet для Vim: emmet-vim

Работает как нужно, но по дефолту неудобный (как по мне) хоткей <c-y>, , я настроил себе на jk . Т.е. Esc у меня kj , а дополнить jk . Первое время пользовался F4, привожу настройки, но jk намного удобнее. Просто на Tab настроить нельзя (иначе как пользоваться Tab?).

Plug 'mattn/emmet-vim',           { 'for': ['html','xhtml','css','sass','scss','less'] }
au FileType html,css,sass,scss,less imap <expr><F4> emmet#expandAbbrIntelligent("\<tab>")
au FileType html,css,sass,scss,less imap <expr>jk   emmet#expandAbbrIntelligent("\<tab>")
au FileType html                    imap <C-\>      <CR><CR><Esc>ki<Tab>
Плагин MatchTag - для отображения парных тегов.

Кроме Emmet'а для Vim существует аналог: Sparkup (нужен питон, не пробовал).

Отображение отступов:

Можно настроить каким символом и цветом отображать линии отступов, я настроил на хоткей <A-i> , альт как непечатаемый символ, так что проще посмотреть настройку склонировав репу на гитхабе и заглянув в .vimrc (или нажать C-v A-хоткей), скриншот.

Plug 'Yggdroot/indentLine'
let g:indentLine_enabled    = 0
let g:indentLine_char       = '¦'
let g:indentLine_color_term = 239
let g:indentLine_color_gui  = '#A4E57E'
nmap ^[i :IndentLinesToggle<CR>

Подсветка синтаксиса:

Plug 'tpope/vim-haml',            { 'for': 'haml'   }
Plug 'wavded/vim-stylus',         { 'for': 'stylus' }
Plug 'groenewege/vim-less',       { 'for': 'less'   }
Plug 'digitaltoad/vim-jade',      { 'for': 'jade'   }
Plug 'slim-template/vim-slim',    { 'for': 'slim'   }
Plug 'othree/html5-syntax.vim',   { 'for': 'html'   }
Plug 'cakebaker/scss-syntax.vim', { 'for': 'scss'   }

Plug 'hail2u/vim-css3-syntax',    { 'for': ['html','css'] }
augroup VimCSS3Syntax
  autocmd!
  autocmd FileType css setlocal iskeyword+=-
augroup END

Проверка синтаксиса:

Для проверки синтаксиса используется Syntastic + сторонние чеккеры:

Plug 'scrooloose/syntastic', { 'for': ['ruby','html','css', 'javascript', 'haml'] }
let g:syntastic_auto_jump           = 1
let g:syntastic_error_symbol        = '✖'
let g:syntastic_warning_symbol      = '►'
let g:syntastic_javascript_checkers = ['jshint'   ] " sudo npm install -g jshint
let g:syntastic_html_checkers       = ['jshint'   ] " sudo npm install -g jshint
let g:syntastic_ruby_checkers       = ['rubylint' ] " gem install ruby-lint
let g:syntastic_haml_checkers       = ['haml-lint'] " gem install haml-lint
let g:syntastic_css_checkers        = ['csslint'  ] " sudo npm install -g csslint
let g:syntastic_css_csslint_args    = "--ignore=zero-units"

Деобфускация / beautify'еры:

Плагин vim-autoformat работает со сторонними 'formatprograms', например js-beautify для HTML, CSS и JavaScript. autopep8 для питона и т.д. Всё это должно быть установленно.

Plug 'Chiel92/vim-autoformat'
let g:formatprg_args_javascript = "-j -q -B -f -"
noremap  <F8>   :Autoformat<CR><CR>
vnoremap <C-F8> gq

JavaScript:

Дефолтная поддержка JavaScript в Vim на довольно низком уровне, так что необходимы плагины как для самого JS, так и для библиотек, плагин javascript-libraries-syntax поддерживает почти все основные либы: jQuery, underscore.js, Backbone.js, AngularJS, RequireJS, Sugar.js, Jasmine и т.д.

Plug 'moll/vim-node'
Plug 'pangloss/vim-javascript',      { 'for': 'javascript' }
Plug 'jelera/vim-javascript-syntax', { 'for': 'javascript' }
let javascript_enable_domhtmlcss = 1
let g:html_indent_inctags        = "html,body,head,tbody"
let g:html_indent_script1        = "inc"
let g:html_indent_style1         = "inc"

Plug 'othree/javascript-libraries-syntax.vim', { 'for': 'javascript' }
let b:current_syntax       = 'javascript'
let g:used_javascript_libs = 'angularjs'

Также полезен tern_for_vim (сам Tern должен быть установлен), который умеет в 'Jump to the definition', 'Find the type' и т.д.

Пробельные символы:

По A-w показывает, по \-dw удаляет. Перевести все табы в пробелы (вдруг кто не знает), в Vim: :retab .

Plug 'ntpeters/vim-better-whitespace'
let g:better_whitespace_enabled = 0
nmap ^[w :ToggleWhitespace<CR>
nmap <Leader>dw :StripWhitespace<CR>

И кое-какие настройки по-мелочи:

set splitbelow
set splitright
inoremap  kj           <Esc>
map       gm           :call cursor(0, virtcol('$')/2)<CR>
nnoremap  <F12>f       :exe ':silent !firefox %'<CR><C-l>
nnoremap  <F12>c       :exe ':silent !chromium-browser %'<CR><C-l>
1-2 строки: для нормального открытия (слева направо) сплитов.
3: Esc на kj - мегаудобно.
4: для попадания на средину строки.
И последние две для предпросмотра в браузерах.

Мой ~/.vimrc

Кто что использует и как, кроме вышеуказанного?

 

VimCasts
()

Посоветуйте книгу по алгоритмам и структурам данных

Форум — Development

Небольшую по объёму, времени - день. Прочитал Скиена, но как-то не впечатлило. Ничего нового не почерпнул.

Понимание принципов имеется. Нужно именно научиться рассказывать и объяснять другим.

 , , ,

asklor
()

два независимых монитора

Форум — Desktop

нужно сделать два монитора так, чтобы мышка не вылезала за пределы одного моника, а переключаться между ними такой-то комбинацией клавиш. думал о мультисит, но в этом случае нужен отдельный набор клавы и мышки. что ещё можно сделать?

упд: идеально было бы вообще по иксоргу на каждый моник запустить

 

xsektorx
()

Очередной выбор фотика

Форум — Talks

Нужен фотик, что бы снимал в нормальном качестве в любых условиях, а не только на солнце, как большинство мыльниц. Желательно маленький, а не полкиллограмовая дура.

Как их выбирать? Мегапиксели не показатель. Прошлый фотик снимал как телефон в сумерках, а мегапикселей было дохрена.

В общем, нужна мыльница для селфи, портретиков котэ/попугайчиков/Люцифера и пейзажиков, но что-бы получалось «красивенько», и не казалось что, снимали на тапок.

Ещё фотогравирую цветочки, листики и всякую фигню вблизи.

Что брать и на какие параметры смотреть? Я конечно могу купить розовенький с большим мегапикселем, но в прошлый раз это с качеством не помогло.

Murg
()

статистика по спам атакам

Форум — Talks

Для диплома нужна статистика по доле спама в почтовом трафике (поденно или понедельно). Может ли кто поделиться, кто располагает соответствующей возможностью?

 ,

perplexus
()

Объявлены названия следующих выпусков Debian

Новости — Debian
Группа Debian

Выбраны названия сразу для двух следующих выпусков Debian:

  • Debian 9 «Stretch»
  • Debian 10 «Buster»

Stretch стала первым персонажем из Toy Story 3, именем которого назван выпуск Debian. Это блестящая фиолетовая резиновая осьминожиха.

Buster — пёс породы такса, которого подарили Andy на Рождество в конце первой части трилогии. Он затем появляется и в остальных двух частях. Кстати, если не считать Sid'а, это первый персонаж в названиях выпусков Debian, который не является игрушкой.

>>> Подробности

 

eugeno
()

Опрос: что вам удалось или не удалось пробросить и как хорошо работает?

Форум — Linux-hardware

Предлагаю отписаться тем, кому удалось пробросить видеокарту в qemu/kvm/xen - или не удалось (полностью, вообще) и как стабильно работает.

Мне не удалось пробросить полностью Sapphire Radeon HD 7790, потому что именно 7790 (вероятнее всего независимо от производителя) хоть и пробрасывается и работает на отдельном мониторе через видеовыход карты, но драйвера (любую версию, на любой версии windows) установить невозможно, что полностью лишает смысла сам факт проброса.

Мне пока-что не удалось полностью пробросить Gigabyte Radeon HD 7870, по той же причине, хотя здесь пробовал как через seabios, так и UEFI/OVMF, но в таблице с qemu/kvm, где люди делятся результатами, а также в списке Xen достаточно 7870, так что шанс есть.

Просьба полностью указать ваше железо: материнка, GPU хост и GPU гость.

 , , , ,

xinu
()

TLP 0.6 — продвинутая консольная утилита для управления питанием

Новости — Open Source
Группа Open Source

TLP — это продвинутая консольная утилита для управления питанием, которая автоматически применяет нужные настройки для конкретного оборудования, знает про разные дистрибутивы и их возможности (допускается и ручная правка /etc/default/tlp).

Изменения:

  • тип systemd-сервиса изменён на simple, что позволяет запускать сервис tlp асинхронно в фоновом режиме;
  • убрана опция DISABLE_TPACPIBAT;
  • убрана опция DEVICES_TO_ENABLE_ON_RADIOSW, поскольку она работает лишь при сочетании Ubuntu 12.04/Linux 3.2;
  • включена по умолчанию опция RUNTIME_PM_ALL (управляет питанием устройств на шине PCI(e);
  • теперь настройки ядра не будут меняться, если следующие опции не указаны или закомментированы: DISK_IDLE_SECS_ON, MAX_LOST_WORK_SECS_ON, SCHED_POWERSAVE_ON, NMI_WATCHDOG, SATA_LINKPWR_ON, PCIE_ASPM_ON, RADEON_DPM_STATE_ON, RADEON_POWER_PROFILE_ON, WIFI_PWR_ON, SOUND_POWER_SAVE_ON, RUNTIME_PM_ON;
  • tlp-stat:
    • в Linux 3.15 изменились пути sysfs для i915 enable_rc6/fbc;
    • в Linux 3.15/3.16 изменились пути sysfs для hwmon coretemp/sensors;
    • теперь собираются данные о скорости всех кулеров, а не только первого по счёту;
    • добавлено предупреждение при возникновении ошибок kernel sata, которые (возможно) происходят из-за SATA_LINKPWR_ON_BAT/AC=min/medium power;
    • добавлено получение данных трассировки из журнала systemd при его наличии.
  • при обнаружении в системе laptop-mode-tools TLP больше не завершает работу, а лишь выдаёт предупреждение о возможном конфликте.

Существуют дополнительные пакеты, расширяющие возможности TLP.

На странице загрузки доступны инструкции по установке TLP для дистрибутивов Fedora, Debian, Arch Linux и Gentoo.

>>> Подробности

 , , ,

anonymous
()