Меню

Ubuntu настройка чувствительности мыши

Чувствительность мыши в Linux

Доброго времи суток. Знатоки, помогите или подскажите где искать. Мне нужно уменьшить чувствительность мыши в Убунту (13.04 но это не важно, пробовал и 12.04 и 12.10). Везде ставлю на ноль и мыш всё ещё очень шустрая. А мне для игр в шутеры это очень важно. Скоро DOD на полную запустят а у меня мыш реактивная. Возможно есть простой способ, просто я новечёк в линуксе. Заранее благодарю. С уважением, Fox909.

вообще-то в гамах свои настройки мыши, которым плевать на настройки оной в системе

но на всякий случай можешь потыкать xset
например

Зайди в настройки мыши в игре и запрети напрямую перехватывать мышь с устройства ввода.

вообще-то в гамах свои настройки мыши, которым плевать на настройки оной в системе

Похоже стимовским играм не плевать, проверял в тф2 и кс 1.6

ТС, что за мышка такая шустрая, может у тебя dpi высокое стоит?

т.е ты предлагаеь ТСу уменьшить dpi для уменьшения скорости?

высокое dpi как раз в гамах и нужен
слабай хедшот с dpi равным 10 :3
а я поржу
речь именно о скорости, а не о разрешении
это всё равно что путать dpi монитора и его размер

Помимо xset еще можно использовать xinput.

Так в Ubuntu или в линуксе? Вообще в стрелялках чувствительность мыши в настройках игры меняется, если что.

Что-то не припоминаю. чтобы в TF2 не работала настройка мыши под линуксом.

Вот и я говорю что все работает

высокое dpi как раз в гамах и нужен
слабай хедшот с dpi равным 10 :3

Значит я не понимаю, что такое dpi в мышках, но если снизить с 2000 до 1000 то курсор бегает намного медленнее

Вообще-то я о том, что как минимум TF2 наплевать на системные настройки мыши. Я уже ставил и играл. Настройки мыши внутри игры корректировал, так как слишком маленькая чувствительность мыши для меня была по умолчанию.

У меня в тф2 мышь была слишком шустрая, а чувствительность на минимуме, сделал еще меньше в настройках гнома

У современных мышей тоже есть такое понятие как dpi, только вот из линукса оно регулируется чуть менее чем никак.

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

Зря вы думаете что я не могу ползунки потаскать в игре (в настройках мыши). Там Реально Всё работает. НО. Во первых на рабочем столе этой чувствительности тоже очень даже много (кисть приходится напрягать). Во вторых ДАЛЕКО не в каждой игре можно широко настраивать чувствительность и порой просто упераешся в тот же барьер что и на рабочем столе. В третьих, я наверно не упомянул что поиграть я «сам не свой» 🙂 А потому мне нужно привести сенс в системе к знаменателю, при котором мои настройки мыши, будут адекватными в нескольких играх. На сегодняшний момент, для полного счастья мне хотелось бы уменьшить мимнимум в настройках на 25%. Лучше больше чем 25. И если совсем уж делать Убунту игровой платформой то и циферки бы возле ползунка. Ну чтобы было возможно узнать точно положение в цифрах. Для шутеров, настройки грызуна являются наиболее критичными из всех жанров. 🙂 Очень надеюсь что есть какой нибудь способ и добрый человек, который мне о нём поведает 🙂 Заранее благодарю. С уважением, Fox909 (Анатолий).

DPI мышки, это ещё тот параметр. У меня там настроена чувствительность, разная по осям. То есть dpi по вертикали 1900 а по горизонту 900 и поменять что то вразумительное я могу только в винде 🙂 Поскольку логитеч (у мнея G9x) не удосужился портировать драйвер с утилитой настройки на линукс.. Вобщем я могу настроить методом тыка под каждую игру и наплодить профилей но программировать придётся под виндой а пробовать (подгонять) в Убунте. Разве это жизнь?! 🙂 Искренне Ваш, Fox909.

У меня нищебродский a4tech x7, но dpi меняется аппаратно на самой мышке.

Очень вас понимаю, т.к. когда-то тоже заморачивался настройкой мыши именно под игры. Адекватных способов менять dpi и для стандартного драйвера evdev я тогда не нашел и перешел на старый иксовый драйвер mouse для которого можно указать параметр Resolution в xorg.conf Как сейчас там обстоят дела мне не известно. На всякий случай вот вам ссылка на старый мануал http://manpages.ubuntu.com/manpages/lucid/man4/mousedrv.4.html

точно настройки в самой игре. 100%.

Видел у дружка диск от свежей х7, если память не изменяет присутствовала тулза под linux. надо будет посмотреть

Это не плохой девайс начального уровня и он в тех самых руках для коих делался 🙂 Шучу (обидеть не хотел). Я же писал что раздельно по осям настраиваю. А такой грызун чтоб кнопками это позволял сделать, мне пока не доступен. И хотелось бы выбирать мышку не под решение проблемы а удобную для игры. 😉 Ещё конечно можно все игры удалить а под одну настроить из под винды. Но разве это наш метод?! 🙂

Читайте также:  Настройка датчика сумеречного освещения

Наш не наш, а мне кнопки пришлось под виндой программировать. А что до игр, так я играю только в openarena и QL. Там все в конфигах прекрасно настраивается, но для ОА приходится выключать акселерацию мыши через xset.

Большое спасибо за совет, если я его пропустил 🙂

В доте не меняется. Так только системные параметры настройки мыши.

Где «8» это id а «2.3» это величина на которую УМЕНЬШАЕМ чувствительность.

«1.0» отключение акселерации мыши, геймеры, обычно отключают.
Если всё заработало должным обзором, нужно эти команды забить в автозагрузку. В gnome дистрибутивах добавляем команду, а KDE добавляем скрипт. Если два id то дублировать команду с обоими id.Если нужны подробности по этим процедурам, пишите в тему.
Пока не нашёл дистрибутива в котором не сработал этот рецепт.

Источник

Настройка мыши

(Только одна мышь (PS/2 или USB) и только один дисплей.)

Мышь называют mouse (множ. mice или mouses), или pointer, или pointing device.

Подключение/обнаружение мыши регистрируется в журнале ядра (dmesg или journalctl, некоторые числа могут отличаться, вывод сокращён):

# Мышь/клавиатура не подключена или не распознана.

i8042: PNP: No PS/2 controller found.

PNP: PS/2 Controller [PNP0303:PS2K,PNP0f03:PS2M] at 0x60,0x64 irq 1,12

serio: i8042 AUX port at 0x60,0x64 irq 12

mousedev: PS/2 mouse device common for all mice

input: ImExPS/2 Logitech Explorer Mouse as /devices/platform/i8042/serio1/input/input2

usb 1-8: New USB device found, idVendor=046d, idProduct=c077

usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=0

usb 1-8: Product: USB Optical Mouse

И, если есть, в журнале X Window (здесь показана только USB-мышь, вывод сокращён):

(II) config/udev: Adding input device Logitech USB Optical Mouse (/dev/input/event14)

(II) config/udev: Adding input device Logitech USB Optical Mouse (/dev/input/mouse0)

Распознанная мышь видна в списке устройств ввода (input):

N: Name=»ImExPS/2 Logitech Explorer Mouse»

H: Handlers=mouse1 event2

N: Name=»Logitech USB Optical Mouse»

H: Handlers=mouse0 event14

Если USB-мышь распознана ядром, то видна по команде lsusb (вывод сокращён):

# Название может отличаться от указанного в ценнике.

# Например, эта мышь продаётся под маркой Logitech B100.

Bus 001 Device 004: ID 046d:c077 Logitech, Inc. M105 Optical Mouse

Если поступают события от мыши (хотя бы просто движения), в консоли появятся кракозябры:

$ sudo cat /dev/input/mouse0

Некоторые возможные причины проблем с работой мыши:

— неисправность самой мыши, порта системного блока;

— ошибки в ACPI. Стоит попробовать отключить ACPI в строке параметров ядра при загрузке:

(В поиске сведений и попытках отследить/реинициализировать устройство может пригодиться udevadm.)

hid_generic 16384 0

hid 118784 3 i2c_hid,hid_generic,usbhid

Основные пользовательские программные параметры мыши:

— доступные кнопки и колёсики;

— соответствие физических и желаемых (логических) кнопок, то есть, например, при настройке мыши для левшей;

— «интервал двойного щелчка» (double click interval);

— собственно «скорость» перемещения указателя (speed или velocity), также упоминаемая как «чувствительность» (sensivity);

В текстовом интерфейсе

Указатель мыши в текстовом интерфейсе выглядит как заполненный прямоугольник; возможно, скрыт, но появится при движении мыши.

В командной строке мышью можно выделять фрагмент текста левой кнопкой (как в большинстве GUI-редакторов), а потом щелчком средней кнопки (колёсика) добавлять копию выделенного в конец командного выражения. Правый щелчок добавляет выделение к уже имеющемуся.

Осторожно: если выделено и вставлено больше одной строки, оболочка может воспринять конец строки как сигнал к выполнению.

В псевдографическом интерфейсе с мышью обращаются так же, как и в GUI, но с учётом ограничений (активная точка размером с один текстовый символ). Например, в Midnight Commander щелчком мыши можно выделить пункт списка, активировать меню (как по клавише F9), нажать виджет-кнопку («F1 Help», «F2 Menu» и остальные).

За предоставление мыши в текстовом интерфейсе отвечает демон gpm (General Purpose Mouse Interface). Демон может обработать три кнопки, которые с его точки зрения являются левой, средней (колёсико) и правой.

Если нет файлов для системы инициализации, то можно запустить демона вручную:

Документация: страницы man и info для gpm.

В GUI (X Window/Xorg и чуть-чуть о Wayland)

В графических средах мышь обычно настраивают GUI-программами, например:

— Mouse (kcmshell5 mouse) из раздела Hardware/Input Devices в центре настроек System Settings (systemsettings5), среда KDE 5;

— Mouse and Touchpad (xfce4-mouse-settings) для центра настроек Settings (xfce4-settings-manager), среда XFCE 4.

Мышь считается набором пронумерованных кнопок (buttons):

Посмотреть, как распознаются события от мыши (или иного устройства ввода) можно программой xev (от X event) в эмуляторе терминала (вывода очень много, включая любое перемещение мыши):

# Появляется окно, события внутри которого выводятся.

# Нажата левая кнопка: «ButtonPress. button 1».

ButtonPress event, serial 37, synthetic NO, window 0x4800001,

root 0x2b8, subw 0x0, time 2002006, (91,81), root:(642,495),

state 0x0, button 1, same_screen YES

# Отпущена: «ButtonRelease. button 1».

ButtonRelease event, serial 37, synthetic NO, window 0x4800001,

root 0x2b8, subw 0x0, time 2002142, (91,81), root:(642,495),

state 0x100, button 1, same_screen YES

# Начато движение колёсиком вверх: «ButtonPress. button 4».

ButtonPress event, serial 37, synthetic NO, window 0x4800001,

root 0x2b8, subw 0x0, time 2006510, (91,81), root:(642,495),

state 0x0, button 4, same_screen YES

# Закончено: «ButtonRelease. button 4».

ButtonRelease event, serial 37, synthetic NO, window 0x4800001,

root 0x2b8, subw 0x0, time 2006510, (91,81), root:(642,495),

Читайте также:  Нотами для гитары настройка

state 0x800, button 4, same_screen YES

— куча отдельных файлов «.conf» в /etc/X11/xorg.conf.d/;

— куча отдельных файлов «.conf» в /usr/share/X11/xorg.conf.d/.

Файлы нумеруют (если нужно, с ведущими нолями) в начале имени, чтобы указать очередь обработки, например: 80-custom-mouse-setup.conf.

Секция настройки мыши выглядит примерно так:

# Любое название в разумных пределах; можно с пробелами.

# Потом следует добавить строку в секцию «ServerLayout».

# InputDevice «Mouse0» «CorePointer»

# Протокол распознавания сигналов, подобно типу для gpm.

# Для обычной мыши подойдёт ExplorerPS/2,

# даже если она для разъёма USB.

# Или Auto, то есть сервер X попробует угадать.

Option «Protocol» «ExplorerPS/2»

Option «Device» «/dev/input/mice»

# Максимум кнопок. Необязательно.

# Для движения манипулятора предполагаются три оси:

# Здесь движение колёсиком вперёд привязано к движению

# У вас могут быть другие номера кнопок, смотрите вывод xev.

Option «ZAxisMapping» «4 5»

# Предположительно, для мыши с двумя колёсиками:

# Option «ZAxisMapping» «4 5 6 7»

# Соответствие физических и желаемых кнопок.

Option «ButtonMapping» «1 2 3 8 9 10»

# Частота опроса сигналов мыши в секунду.

# Помогает настроить более плавную реакцию на движение руки.

# Не для всех моделей мышей.

# Option «SampleRate» «число»

# Для USB-мыши можно попробовать настроить модуль HID ядра.

# Разрешение в dpi. Не для всех моделей мышей.

# Option «Resolution» «число»

# «Чувствительность», множитель перемещений.

# Если выше единицы и мышь с высоким разрешением,

# то по некоторым пикселам попасть не удастся.

# Применяют как замедлитель (дробь меньше единицы)

# для мышей с высоким разрешением. По умолчанию «1.0».

# Option «Sensitivity» «число»

# Симуляция удержания кнопки нажатой.

# Нажать и отпустить дополнительную кнопку (обозначена Д)

# вместо удерживания основной (О):

# Option «DragLockButtons» «Д1 О1 Д2 О2»

# Или нажать общую дополнительную кнопку, потом основную:

# Option «DragLockButtons» «ОД1»

# В конце перетаскивания снова нажать дополнительную.

Для большего удобства в правке конфигурационных файлов можно запросить X-сервер создать файл с автоматически сгенерированными секциями (на основе уже подключённых устройств).

# Запустить в текстовой консоли.

В домашнем каталоге появится файл xorg.conf.new, который следует переместить/переименовать в /etc/X11/xorg.conf. Дальше правьте его по усмотрению.

man-страницы X, xorg.conf;

документация ядра input/input.txt, admin-guide/kernel-parameters.txt

Программа xinput показывает списки и свойства для распознанных работающей системой X Window устройств ввода; позволяет изменять многие свойства. (Вывод не показан.)

# Показать древовидный список.

# Устройства могут отобразиться несколько раз.

# (число после «id=», например, 12) или название в кавычках.

# Опции здесь можно вводить без дефисов.

# Распознавание событий от устройства ввода, наподобие xev.

# Или для более новой подсистемы ввода XInput2.

# Показать разные доступные свойства.

$ xinput list-props «Logitech USB Optical Mouse»

# Показать параметры ускорения.

$ xinput get-feedbacks 12

# Свойство можно указывать как название в кавычках

# или как число без скобок.

# Делитель скорости мыши (если меньше единицы, то ускорит).

$ xinput set-prop 12 296 1.0

# Некоторые иные способы задания свойств.

# Соответствие физических и желаемых кнопок.

# Аналогично опции «ButtonMapping» в файле «.conf».

$ xinput set-button-map 12 1 2 3 8 9 10

# Установить параметры ускорения.

# Порядок операндов: номер, порог, множитель, делитель.

$ xinput set-ptr-feedback 12 4 2 1

# Игнорировать (disable), задействовать (enable) устройство.

# Уведомлять об изменении свойств из списка list-props.

$ xinput watch-props 12

# Снимок состояния кнопок (нажато или нет) и координат.

$ xinput query-state 12

Программа xset может показывать и изменять некоторые свойства работающей подсистемы X Window.

# Показать параметры ускорения указателя.

# Подобно опции get-feedbacks для xinput.

acceleration: 2/1 threshold: 4

# Установить параметры ускорения.

# Подобно опции set-ptr-feedback для xinput.

# Но xset действует на все подключённые мыши/тачпады.

# Порядок операндов: множитель, делитель, порог.

Документация: man-страницы xinput, xset.

Также могут пригодиться программы easystroke, imwheel, xautomation, xbindkeys, xmodmap.

Изображения можно открыть в GIMP. Программа xcursorgen может преобразовывать файлы формата PNG в X11 cursor.

Готовые темы есть, например, здесь:

Comment=White accessible cursor theme

# «Наследуемая» тема означает, что недостающие изображения

# будут взяты из неё, если текущая тема неполна.

Ещё файлы настроек:

/.Xresources, /etc/X11/Xresources. Добавить строку, наподобие

Может потребоваться применить содержимое файла

/.Xresources в обход графической среды. Тогда нужно добавить строку

/.xprofile» (аналогично файлу «

Диспетчер дисплея (display manager) может сам себе задать тему указателей.

Дубликаты не найдены

Трепещите, виндузятники. Это всего лишь настройки мыши.

Да, две недели назад накатил убунту второй системой, за каждым чихом в консоль, спасибо интернету на каждый чих подобный мануал. Хотя пока что мозгов не хватает понять как настроить скролл так что бы настройки не сбивались с перезагрузкой.

Как вспомню свои размышления «Kali Linux или Black Arch?» тянет смеяться с такой наивности. Боюсь я бы их даже установить не смог.

Звучит как баг, на ланчпаде не искали? Там часто воркеранды пишут. Либо вы чего-то особенного хотите от скролла

Всего лишь изменить скорость скролла. В windows это стандартная штука с незапамятных времён, в линукс несколько строчек команд и создание конфига
Тут например вроде всё необходимое описано, хотя прежде читал несколько большую статью:
http://www.goubuntu.ru/kak-izmenit-skorost-kolesika-myshi-v-.

кто-нибудь понял, о чём этот пост?!

алсо, даже в генте у меня НИ РАЗУ не возникало проблем с работой мыши. для кого эта простыня, для LFS-ников?

Ошибки, порой, время от времени, встречаются в самых неожиданных местах.

И очень хорошо, если кто-то по таким вопросам пишет обьяснялки.

Из личного опыта: к Убунту Студио крутили граф. планшет Джениус. Дьявола было бы проще призвать. Инфа 146%.

Есть короче ноут. В свое время линуксовый, т.е. дистрибы работают ащще из коробки.

Читайте также:  Сброс до заводских настроек htc комбинация клавиш

Есть debian stable, mate.

Регулировки мыши не работают НИ-ХУ-Я.

Т.е. как то по дефолтным настройкам работает. И всё.

Не знаю почему вспомнил это прочтя текст.

Поздравляю, вы заслужили ачивку «Самый скучный пост этого месяца(года, столетия, милениума)». В комплекте идет плюс

Виндузятникам в холиварах. И да в посте то, что можно сделать, а не то, что необходимо делать.

Шрифты в Linux

(НЕ является инструкцией по руссификации интерфейса.)

Файл шрифта (font file) содержит наборы изображений (рисунков) символов и соответствующие символам коды. Технически шрифты могут быть растровыми (bitmap fonts) или векторными (outline/vector fonts).

Пример того, как может выглядеть буква А в растровом шрифте с глифами размером 16×8 точек. Пустые/фоновые пикселы показаны символом

Основную графическую идею (стиль) шрифта называют «гарнитУрой» (typeface, или font face). Символы одной гарнитуры схожи примерно так же, как инструменты из одного набора или предметы посуды из одного сервиза.

Шрифты в текстовой консоли

CyrSlav-Fixed16.psf.gz: Linux/i386 PC Screen Font v1 data, 256 characters, Unicode directory, 8×16 (gzip compressed data, last modified: Wed Feb 1 12:35:37 2017, max compression, from Unix)

Вспомогательные программы для правки шрифтов: nafe ( https://sourceforge.net/projects/nafe/ ), psftools ( https://tset.de/psftools/index.html ), rw-psf ( https://github.com/talamus/rw-psf ). Они конвертируют символы в ascii-art (вроде вышеуказанного примера буквы А) или растровые изображения. После правки в текстовом или графическом редакторе можно конвертировать файл обратно в шрифт.

Применить настройки на текущей консоли:

Пакеты программ: kbd, console-setup. Документация: man-страницы console-setup, setfont, setupcon. В инсталляциях с systemd может быть файл настроек /etc/vconsole.conf и сервис systemd-vconsole-setup.service. Документация: man-страницы systemd-vconsole-setup.service, vconsole.conf.

Шрифты в графической консоли

Форматы шрифтов для GUI:

Portable Compiled Font (PCF, «.pcf» или сжатый «.pcf.gz»), растровый;

Bitmap Distribution Format (BDF, «.bdf» или сжатый «.bdf.gz»), растровый;

TrueType Font (TTF, «.ttf»), векторный;

OpenType Font (OTF, «.otf»), векторный;

Type 1 PostScript font ASCII (PFA, «.pfa»), векторный;

Type 1 PostScript font binary (PFB, «.pfb»), векторный;

и ещё несколько более редких.

NotoSans-Regular.ttf: TrueType font data

Графическая подсистема X Window System задействует шрифты сама или через библиотеки. X-программа (клиент сервера X Window) может запросить отрисовку шрифта по записи формата X Logical Font Description (XLFD). Запись состоит из 14 полей через дефисы. Пример:

Значения можно подбирать GUI-программой xfontsel. Кнопка select копирует запись в буфер X, откуда её можно вставить в редактор средней кнопкой мыши (колёсиком).

Настройки применения шрифтов в общем файле /etc/X11/xorg.conf:

# Прочие параметры этой секции.

В указанных каталогах следует запустить программы mkfontscale и mkfontdir. В результате должны появиться файлы encodings.dir, fonts.alias, fonts.dir.

Шрифт можно подключить временно, вручную:

xset +fp /usr/share/fonts/X11/misc

# Перечитать списки шрифтов.

К библиотеке прилагается семейство программ fc-*, в том числе:

# Показать установленные шрифты, имеющие символы русской кириллицы.

DejaVu Sans,DejaVu Sans Light

Nimbus Roman No9 L

NotoSans-Regular.ttf:0 Satisfy the coverage for ru language

NotoSans-Regular.ttf:0 Satisfy the coverage for en language

NotoKufiArabic-Regular.ttf:0 Missing 66 glyph(s) to satisfy the coverage for ru language

NotoKufiArabic-Regular.ttf:0 Missing 72 glyph(s) to satisfy the coverage for en language

NotoKufiArabic-Regular.ttf:0 Satisfy the coverage for ar language

То есть в основном файле есть символы для русского, английского языков; в файле для арабского языка есть только арабица.

Каталоги для хранения шрифтов: общий /usr/share/fonts/, пользовательский

/.fonts/). В fonts.conf можно указать другие.

Желательно иметь в GUI: пропорциональные шрифты с засечками и без них (для большинства виджетов), моноширинный шрифт (для эмулятора терминала), шрифт со вспомогательными символами (для офисного текстового процессора).

Семейства свободно доступных шрифтов, которые считают приятными для глаз: Cantarell, Droid, Noto, Ubuntu. Шрифты со вспомогательными символами: OpenSymbol, Symbola; или Dingbats и Wingdings из Windows.

Для установки шрифта, поддерживаемого Fontconfig, нужно скопировать его файлы в один из каталогов хранения (можно во вложенный каталог). Желательно правильно установить целевые права, например 444 для файлов и 555 для каталогов. Потом запустить fc-cache (может сработать автоматически).

Для офисных документов популярны семейства шрифты из Windows: Arial, Courier New, Times и другие (форматы TTF, OTF).

Их можно скопировать из инсталляции Windows (каталог Windows\Fonts\).

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

Можно скопировать их из Интернета самостоятельно и распаковать программой cabextract. Ищите в репозиториях сервиса SourceForge.net по выражению «Microsoft core fonts».

Для подстановки можно применять шрифты семейства Liberation (соответственно Sans, Mono, Serif). Они, насколько возможно, «метрически совместимы» (metrically compatible) со шрифтами из Windows, то есть глифы сходных размеров. Другие метрически совместимые шрифты:

семейство Croscore (соответственно Arimo, Cousine, Tinos);

[Astra] Sans, [Astra] Serif и Mono от фирмы Paratype;

семейство XO Fonts (Oriel, Courser, Thames, символьные шрифты Symbol и Windy).

В графической подсистеме X Window System растеризацией занимается своя библиотека Xft. В последние годы операции растеризации передаются внешним библиотекам: Cairo, FreeType, Pango. Графическая подсистема Wayland сама никак не взаимодействует со шрифтами, все программы обращаются к внешним библиотекам.

В шрифтах TrueType могут быть дополнительные встроенные данные (hints) по отрисовке; их применение называется «хИнтинг» (hinting). В библиотеке FreeType наилучший алгоритм отрисовки (TrueType Bytecode Interpreter) был запрещён патентами примерно до 2010 года/версии 2.4.

Источник