Перейти до змісту
View in the app

A better way to browse. Learn more.

Файна Україна

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Ciko

Адміністратор

Весь контент Ciko

  1. ПопередникДо systemD в Linux використовувався SysVinit, який остаточно сформувався в AT&T UNIX System V (звідси і назва). SysVInit (або просто init) працює як демон (комп'ютерна програма в UNIX-подібних системах, що запускається самою системою і працює у фоновому режимі без прямої взаємодії з користувачем, а не те що можна подумати), запускається відразу після ядра і має PID (ідентифікатор процесу) 1, init відповідає виконують перевірку та монтування файлових систем, запуск інших демонів та інше, що відбувається під час запуску системи. НедолікиДуг Макілрой, один із засновників традиції Unix, узагальнив філософію цих систем таким чином: «Філософія Unix свідчить: Пишіть програми, які роблять щось одне та роблять це добре. Пишіть програми, які працювали б разом. Пишіть програми, які підтримували б текстові потоки, оскільки це універсальний інтерфейс». systemD не дотримується першого пункту, оскільки крім ініціалізації надає: запуск сервісів за розкладом (замінює cron); сокет-активація служб (замінює inetd); робота з апаратним сторожовим таймером (замінює watchdog); зміна кореня (замінює chroot); автомонтування томів та мережевих ресурсів (замінює mount & fstab); journalctl - служба журналування; systemd-analyze - аналіз швидкості запуску служб; systemd-boot - UEFI завантажувач (заміна grub). Через таку велику кількість функцій systemD часом працює нестабільно, має заплутаний код, який складно перевірити на безпеку і підвищує споживання ресурсів усієї системи (після міграції з Debian 10 на Devuan 3 (systemD → SysVInit) споживання ресурсів впало з 600 мб до 300). Крім цього при використанні систем systemD особисто я відчував проблему з тим, що через деякий час використання система починала дуже довго вимикатися. Поспілкувавшись з другом, з'ясував, що це не тільки в мене. В інтернеті легко можна знайти й інші проблеми. ВикористанняПідсистема була запропонована як зовнішня залежність для GNOME 3.2, GNOME версії 3.8 і вище не можна встановити без systemD. systemD використовується в таких дистрибутивах: Debian GNU/Linux 8+ RHEL 7+ CentOS 7+ Ubuntu 15.10+ Fedora 15+ Mageia 2 Mandriva 2011 Rosa openSUSE 12.1+ Arch Linux 12.11 Sabayon 13.08 Дистрибутиви, в яких система D доступна: Debian GNU/Linux 7 Gentoo АльтернативиОдними з найпопулярніших альтернатив у сфері систем ініціалізації є: SysVInit Runit OpenRC Upstart S6 та інші менш відомі Також існують дистрибутиви, що постачаються без systemD: Devuan — форк Debian із SysVInit за замовчуванням. AntiX — форк Debian із SysVInit або runit на вибір. Artix - форк Arch Linux з трьома системами на вибір: OpenRC, Runit і S6. Gentoo Void Linux Всі *BSD системи та інші менш відомі.
  2. BtrfsФайлова система, яка активно використовує метадані у своїй роботі, що прискорює процес, але при втраті метаданих губляться і дані. При копіюванні дані не записуються повністю, запису підлягає лише змінена частина. Через принцип роботи добре підходить для створення знімків. Управління томами та стиснення даних вже містяться у ФС, тому не потрібно встановлення додаткового ПЗ. Сама ФС була розроблена в 07 році з прицілом на сучасні пристрої, містить оптимізації для роботи з SSD, процеси виявлення та виправлення помилок, підтримується дефрагментація та дедуплікація в реальному часі ( Дедуплікація - процес стиснення за рахунок видалення дублікатів файлів, що не використовуються ). Формат зберігання даних вже заморожено, а це основа ФС, але кодова база розробляється. Періодично покращення з'являються і в самому ядрі, над покращенням працюють різні великі компанії. Файлова система Btrfs дуже цікава та перспективна. Ext4Мабуть, найвідоміша і найпоширеніша ФС, яка використовується за замовчуванням у більшості дистрибутивів. Найбільш стабільна, оскільки розвиток належить ще у минулому столітті, планомірний розвиток з Ext > Ext2 > Ext3. Використовує у роботі журналування, що дає велику надійність для файлів, але знижує швидкість. Якщо з'являється помилка, ФС повертається до попередньої версії з журналу. Завдяки журналу навіть при збої запису ФС залишається в безпеці. У Ext4 було додано дефрагментація у часі. Не дивлячись на поважний вік все ще розробляється. Розробники планують змусити ФС працювати з контрольними сумами в автоматичному режимі та покращити квоти, перекласти їх на ядро, це покращить продуктивність. Отримала у своє розпорядження різноманітні сучасні механізми для покращення продуктивності, включаючи роботу з SSD, але структура застаріла. Журнал, який використовується в роботі і часто зустрічається в описі - принцип роботи, при якому транзакції записуються спочатку в журнал, а зміна/запис відбувається вже після. ІншіУ цьому матеріалі я не згадав про такі варіанти як ZFS, ReiserFS, JFS та F2FS. ZFS спочатку була відкрита, розвивалася в Sun Microsystems, але потім викуплена Oracle, її код закритий, а форк останньої доступної версії випущений як OpenZFS. Офіційно у ядрі відсутня, тому що її ліцензія конфліктує з GPL, а Л. Торвальдс висловлюється проти. Але розробники дистрибутивів можуть забезпечити підтримку через шар сумісності. По ряду параметрів схожа на Btrfs, яка поширюється під вільною ліцензією і офіційно підтримується в ядрі. Всі вони або не краще, або гірше за якими параметрами, ніж вищезгадані. Таке різноманітне ФС створює «Проблему вибору», на практиці відмінності між ними не помітні. Тому для мене висновок залишився тим самим: Ext4 для дисків – старої технології запису, Btrfs для SSD – сучасніших пристроїв.
  3. Дано: Ryzen 2600x, 16Gb RAM, 1660Ti, SSD 512Gb Завдання: встановити Arch без підриву області нижче за поперек Рішення: ALG - Arch Linux GUI Плюси: редакції на будь-який смак (Plasma, Gnome, Xfce, Cinnamon, MATE, i3, BSP); iso-образи оновлюються щомісяця (не доведеться встановлювати 1Gb+ оновлень за чистої установки); велика пакетна база, включаючи AUR; завжди свіжі пакети. Мінуси: може зламатися після чергового оновлення, але це не точно. Базова установкаВибираємо iso-образ (pure – це мінімальні редакції). Я вибираю Пікачу, тобто. pure Mate. На системах із UEFI необхідно відключити safe boot. Завантажуємося в режимі лайв і запускаємо установник - Calamares. Вибираємо мову, метод введення – все як у звичайному Calamares. Розмітку диска можна виконати заздалегідь або безпосередньо в установщику, якщо вибрати режим ручної розмітки. Я використовую таку: 300 мб fat32 - efi-розділ (не забуваємо поставити галочку boot і точку монтування '/boot/efi' ), 25 гб ext4 - root (точка монтування '/' ), все інше ext4 - home (точка монтування '/home' ). Efi розділ можна і менше (але не менше 32 мб) - установник лаятиметься, але продовжить установку, а потім навіть завантажить систему. Створюємо користувача, обзиваємо систему. Встановлюємо. На виході отримуємо встановлений Arch за 3-5 хвилин. Базове налаштуванняТ.к. я встановив pure-редакцію, отримав чистий дистрибутив (при повній установці в деяких редакціях досить просто оновити систему). Обновляємо дзеркала через термінал: sudo pacman -SyОновлюємо keyring та систему: sudo pacman -S archlinux-keyring sudo pacman -SyuПри встановленні Firefox встановляться і необхідні системні шрифти, тому обов'язково перезавантажуємо систему після. sudo pacman -S firefox rebootДодаткові шрифти з емодзі та символами: sudo pacman -S noto-fonts-emoji noto-fonts ttf-liberationВстановлюємо звукову систему: sudo pacman -S pulseaudioYAY - AUR-помічник: sudo pacman -S --needed git base-devel (выбираем все - all)cd /home/'имя пользователя'/Downloads git clone https://aur.archlinux.org/yay.git cd yay makepkg -siPamac - керування пакетами через графічний інтерфейс: yay -S pamac-aur-git (выбираем libpamac)У налаштуваннях Pamac не забуваємо включити підтримку AUR. Що може стати в нагодіДо встановлення пакетівМожна встановити наступні пакети, використовуючи термінал, або Pamac Відеодрайвер для вбудованого відеоядра від Intel: sudo pacman -S xf86-video-intelВідеодрайвер для Nvidia: sudo pacman -S nvidiaGreen With Envy - управління відеокартою від Nvidia: yay -S gweBluetooth: sudo pacman -S bluemanдодаємо в автозапуск blueman та активуємо bluetooth модуль systemd sudo systemctl enable bluetooth rebootЗручний файловий менеджер із збереженням сеансів та вкладок Spacefm: yay -S spacefmПростий графічний Firewall sudo pacman -S gufwРозмітка дисків: sudo pacman -S gpartedНалаштування екрана входу в систему: sudo pacman -S lightdm-gtk-greeter-settingsMate-Tweak: yay -S mate-tweakТема піктограм Papirus: sudo pacman -S papirus-icon-themeТема оформлення Plata: yay -S plata-themeТема курсору Breeze: yay -S breeze-default-cursor-themeПростий графічний редактор Pinta: sudo pacman -S pintaВідеоплеєр Celluloid: sudo pacman -S celluloid Установка Steam: необхідний multilib репозиторій: sudo pluma /etc/pacman.confВидаляємо #: #[multilib] #Include = /etc/pacman.d/mirrorlistЗберігаємо та оновлюємо дзеркала: sudo pacman -SyВстановлюємо Steam: sudo pacman -S steam (выбираем nvidia-tools либо amd)Mangohud та Goverlay: yay -S goverlayGamemode: sudo pacman -S gamemodeВикористання: gamemoderun 'ім'я програми/ігри' gamemoderun steamДодаткове налаштуванняЗабираємо Screen Tearing (розриви зображення) На вбудованому відеоядрі від Intel: sudo pluma /etc/X11/xorg.conf.d/20-intel.confSection "Device" Identifier "Intel Graphics" Driver "intel" Option "TearFree" "true" Option "TripleBuffer" "On" EndSectionНа відеокартах Nvidia: sudo pluma /etc/X11/xorg.conf.d/00-ldm.confSection "Device" Identifier "NVIDIA Card" Driver "nvidia" VendorName "NVIDIA Corporation" Option "MetaModes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}" Option "UseNvKmsCompositionPipeline" "Off" Option "TripleBuffer" "On" EndSectionЗабираємо стрибаючий рівень гучності у браузерах sudo pluma /etc/pulse/daemon.confвидаляємо; і міняємо no на yes ; flat-volumes = noВиправляємо гаснучий екран додаємо в автозавантаження xset s 00Автологін sudo mkdir /etc/lightdm/lightdm.conf.d sudo nano /etc/lightdm/lightdm.conf.d/12-autologin.conf[SeatDefaults] autologin-user=ваш логинБазові компоненти для збирання пакетів із вихідних джерел sudo pacman -S gcc cmakeРосійська/Українська локалізація sudo nano /etc/locale.genВидаляємо # у рядку #ru_RU.UTF-8 UTF-8 Либо #ru_UA.UTF-8 UTF-8Генеруємо локаль sudo locale-genВстановлюємо її як системну sudo localectl set-locale ru_RU.UTF-8 либо sudo localectl set-locale ru_UA.UTF-8 rebootПідсумокПісля установки Arch на старенький ноутбук машинка ожила. Думав, що буде багато метушні з його налаштуванням, але ні. Проблема була тільки з блютус, але швидко вирішилася активацією модуля в systemd. На основному ПК підвищилася чуйність, що не може не тішити.
  4. Нам необхідно відредагувати конфігураційний файл утиліти makepkg , яка використовується для збирання пакетів AUR. Тут є два варіанти: Відредагувати загальний файл /etc/makepkg.conf Або відредагувати файл ~/.makepkg.conf (або створити його у вашій домашній директорії, якщо його немає). У файл потрібно додати рядок: MAKEFLAGS="-j4"Де -j4 означає, що при складанні пакетів буде використовуватися 4 ядра вашого процесора. Відповідно, замість " 4" ви можете поставити своє число. Якщо ви хочете використовувати всі ядра, то вказуємо: MAKEFLAGS="-j$(nproc)"$(nproc) буде автоматично замінено на максимальну кількість ядер вашого процесора.
  5. Ciko опублікував тема в Статті
    Void Info BaseОтже, посилання: Void Info Base Void.tar.gz Просто розпакуйте архів за посиланням для перегляду у браузері: tar -x -f Void.tar.gzСклад
  6. Ciko опублікував тема в Статті
    Етап I: ПідготовкаЯкщо Ви хочете встановити Gentoo з готової системи, то відразу переходьте до етапу "Установка" Встановити Gentoo можна як з Live-CD диска, так і вже встановленої системи. У цілому нині, відмінності між цими шляхами мінімальні. Щоб розпочати, достатньо зайти на сторінку завантажень та завантажити образ Live-CD. Вибираємо образ для власної архітектури. На stage3, поки що, не звертаємо жодної уваги. Далі слід записати щойно завантажений образ на флешку. У лінуксі можна скористатися командою dd if=/home/$USER/install-amd-minimal-*.iso of=/dev/sdX bs=4M && syncДе sdX - цільова флешка та образ лежить у корені поточного користувача. Далі слід перезавантажитись і завантажитись із свіжозаписаної флешки. Вітаю, ви готові до встановлення. Етап II: Встановлення базової системиЗараз Ви знаходитесь в Live-оточенні. Можна сказати, це система, що має всі необхідні компоненти для установки системи. Тепер слід розмітити диски. Робіть це на власний розсуд. Я, наприклад, роблю це так: /dev/sda1: 2G /dev/sda2: 8G /dev/sda3: решта простору, btrfs Особисто я проводжу розмітку через програму cfdisk, вона є в Live-CD. Після цього слід відформатувати розділи: mkfs.fat -F 32 /dev/sda1 mkswap /dev/sda2 swapon /dev/sda2 mkfs.btrfs /dev/sda3 Далі потрібно налаштувати дату та час системи. Щоб перевірити ці параметри, потрібно ввести команду: dateЯкщо час встановлено неправильно, варто змінити його: date MMDDhhmmYYYY MM – місяць, DD – день, hh – годинник, mm – хвилини, YYYY – рік. Створюємо директорію /mnt/gentoo і переходимо до неї. Зараз нам потрібно завантажити stage3 архів. Це можна зробити за допомогою псевдографічного браузера links links https://www.gentoo.org/downloads/mirrors/Перейдіть до каталогу releases > amd64 > autobuilds та виберіть потрібний архів. Або Ви можете завантажити його за допомогою wget. Тепер архів треба розпакувати. tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-ownerНалаштуємо параметри компіляції. nano /mnt/gentoo/etc/portage/make.confТут слід додати -march=native в COMMON_FLAGS , цей параметр вказує компілятор на те, для якої архітектури потрібно збирати пакети. Також потрібно створити змінну MAKEOPTS MAKEOPTS="-j5" Цифра після j у кожного своя, можна виставити кількість ядер процесора + 1. Також можна вказати параметр CPU_FLAGS_X86 CPU_FLAGS_X86=" aes avx avx2 f16c fma3 mmx mmxext pclmul popcnt rdrand sha sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 " Набір інструкцій можна дізнатися за допомогою пакета cpuid2cpuflags . Щоб встановити його, зробіть таке: emerge cpuid2cpuflagsДалі обов'язково копіюємо налаштування мережі, без цього в системі не працюватиме мережа. cp --dereference /etc/resolv.conf /mnt/gentoo/etc/Тепер монтуємо необхідні файлові системи: mount --types proc /proc /mnt/gentoo/proc mount --rbind /sys /mnt/gentoo/sys mount --make-rslave /mnt/gentoo/sys mount --rbind /dev /mnt/gentoo/dev mount --make-rslave /mnt/gentoo/dev Якщо установка проходить з іншої системи, слід прописати наступне: test -L /dev/shm && rm /dev/shm && mkdir /dev/shm mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm Наступним кроком ми переходимо до ізольованого оточення. chroot /mnt/gentoo /bin/bash source /etc/profile export PS1="(chroot) $PS1" # опциональная команда, изменяет строку приглашения.Тепер можна створити необхідні директорії boot, home (якщо потрібно) тощо. mkdir boot homeМонтуємо розділи: mount /dev/sda1 boot Монтуйте, у разі потреби, home та ін. Тепер слід виконати команду emerge-webrsyncЦя команда зніме зліпок репозиторію Gentoo. Якщо під час процесу відбуваються якісь помилки, перевірте системну дату та підключення до інтернету. Далі можна поновити пакети. Якщо ви встановили свіжий stage3 архів, це необов'язково. emerge --sync -qКлюч -q (--quiet) зменшує рішення на консоль для роботи emerge. Оновлюємо "світ" emerge --ask --verbose --update --deep --newuse @world emerge -qavuDN @world # та же команда, но корочеТепер слід вибрати профіль ( профайл ) системи. root # eselect profile list Available profile symlink targets: [1] default/linux/amd64/17.1 * [2] default/linux/amd64/17.1/desktop [3] default/linux/amd64/17.1/desktop/gnome [4] default/linux/amd64/17.1/desktop/kde Залежно від того, яке оточення встановлюватимете, вибирайте потрібний профіль. Якщо хочете встановити оточення, якого немає в списку, вибирайте профіль desktop. Ну і якщо хочете максимального контролю за системою, залиште профіль за замовчуванням. eselect profile set nДе n – номер профілю. Далі потрібно знову оновити "світ" emerge -qavuDN @worldТепер починається найцікавіше – налаштування змінної USE. Це найпотужніша змінна, доступна для користувача в Gentoo. USE прапори можуть бути глобальними та локальними. Як випливає з назви, глобальні застосовуються для всієї системи, локальні – для конкретних пакетів. Поки що настроїмо глобальні. Відразу раджу поставити пакет gentoolkit. За допомогою команди equery u <ім'я пакета> можна переглянути USE-прапори для конкретного пакета. Дуже корисна річ, рекомендую запам'ятати, замінює багаторазове читання wiki. Глобальні USE налаштовуються у файлі /etc/portage/make.conf USE="X -gnome -kde gtk -qt5 networkmanager dbus -elogind -systemd jpeg"Приклад змінної. Знак мінус перед прапором вказує, що пакети потрібно збирати без підтримки прапора. Розберемо ці прапори. X — включає пакети підтримку xorg -gnome; -kde; -qt5 - Вимикають підтримку gnome, kde, qt5 відповідно. і таке інше. emerge --info | grep ^USEТаким чином можна переглянути поточні USE-прапори, встановлені в системі. Локальні прапори встановлюються у файлах директорії /etc/portage/package.use/ Наприклад: #/etc/portage/package.use/networkmanager net-misc/networkmanager -modemmanager Прапор -modemmanager вимикає підтримку сім-карт і тд. Саме для пакета networkmanager. Ви можете налаштувати змінну ACCEPT_LICENSE # /etc/portage/make.conf ACCEPT_LICENSE="*"У такий спосіб можна позбутися повідомлень про ліцензії від portage. Задаючи таке значення змінно, ми приймаємо будь-які ліцензії пакетів. Якщо Вас не мучать з цього приводу жодних сумнівів, можете сміливо робити. Налаштуємо локальний час: echo "Europe/Moscow" > /etc/timezoneУ /usr/share/zoneinfo/ Ви можете побачити список усіх доступних часових поясів. emerge --config sys-libs/timezone-dataПереналаштуємо пакет timezone-data . Налаштовуємо локалі. nano /etc/locale.gen en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8 locale-gen eselect locale list ... eselect locale set nВибираємо необхідну локаль. У файлі /etc/conf.d/consolefont CONSOLEFONT="cyr-sun16"Для підтримки російського шрифту у консолі. env-update && source /etc/profileПерезавантажуємо оточення. Далі починається найскладніше - конфігурація та складання ядра. Але, оскільки ці процеси різні різних машинах, то скористаємося автоматичної конфігурацією. Але про це згодом. emerge --ask sys-kernel/gentoo-sourcesЗавантажуємо вихідники ядра. Можете так само завантажити вихідні джерела zen-ядра, xanmod і тд. emerge --ask sys-kernel/genkernelВстановлюємо genkernel для конфігурації ядра. На цьому етапі слід редагувати /etc/fstab Додаємо до нього: /dev/sda1 /boot vfat defaults 0 2Тепер запускаємо конфігурацію та складання: genkernel all Запасіться терпінням, це не найшвидший процес. Встановлюємо файли прошивки emerge --ask sys-kernel/linux-firmwareТепер відкриваємо /etc/fstab та редагуємо його під свої потреби, у мене вийшло так /dev/sda1 /boot ext2 defaults,noatime 0 2 /dev/sda2 none swap sw 0 0 /dev/sda3 / btrfs noatime 0 1Редагуємо /etc/conf.d/hostname . Значення вказуємо будь-яке hostname="gentoo"Встановимо NetworkManager, увімкнемо його emerge -q networkmanager rc-update add networkmanager bootВідредагуємо /etc/hosts 127.0.0.1 gentoo.homenetwork gentoo localhostНалаштовуємо пароль root passwdЯкщо вимоги до паролю здаються дуже завищеними, редагуємо файл /etc/security/passwdqc.conf min=1,1,1,1,1Тепер потрібно встановити пакети для роботи з файловими системами emerge sys-fs/dosfstools emerge sys-fs/btrfs-progs emerge sys-fs/e2fsprogsДалі налаштовуємо завантажувач Тут нічого не описуватиму, ставте потрібний завантажувач для потрібного типу системи. Можу порекомендувати bios, refind, systemd-boot. Виходимо з оточення, перезавантажуємося exit cd umount -l /mnt/gentoo/dev{/shm,/pts,} umount -R /mnt/gentoo rebootЯкщо система завантажилася, то вітаю, Ви щойно встановили Gentoo! Не так страшно, здавалося, чи не так? Але це не кінець, ми продовжуємо. Етап III: Налаштування системиПісля перезавантаження ми опиняємось у робочій системі. Якщо Ви хочете встановити графічне оточення, читайте далі. Спочатку можна створити користувача. useradd -m -G wheel,audio,video <имя пользователя> passwd <имя пользователя>Ключ -m створить директорію користувача /home -G включить користувача до зазначених груп. wheel - Група, що дозволяє виконувати дії з sudo. passwd - задаємо пароль користувачеві Далі відкриваємо файл /etc/make.conf Тут потрібно створити змінну VIDEO_CARDS і надати їй знання. radeon noveau — для відеокарт nvidia, не маю досвіду з ними, але цей драйвер завжди підходить. amdgpu intel radeonsi Наприклад, VIDEO_CARDS="amdgpu radeon radeonsi"Також вказати змінну INPUT_DEVICES INPUT_DEVICES="synaptics libinput"Змінна вказує на драфвер для пристроїв введення для Xorg. Збираємо драйвера emerge --pretend --verbose x11-base/xorg-driversАх, так! Тепер можна видалити сміття з диска. rm /stage3-*.tar.*Встановлюємо xorg-server emerge --ask x11-base/xorg-serverТепер xorg встановлено, і ми можемо встановити якесь оточення. Я розгляну такі: KDE Plasma XFCE4 GNOME Якщо потрібно щось інше – шукайте в хендбуку. Plasma: Насамперед ви можете вибрати спеціальний профіль для KDE, але це не обов'язково. Створюємо файл /etc/portage/package.use/plasma-meta kde-plasma/plasma-meta <use флаги>Доступні прапори можете побачити у wiki або за командою equery u plasma-meta. Раджу увімкнути прапор sddm, він одразу встановить дисплейний менеджер. Виставляєте потрібні прапори, збираєте. Скажу відразу, Plasma збирається досить довго, тож потерпіть. Якщо під час складання portage на щось скаржиться, то дочитайте статтю до кінця, там я розповім, що робити, якщо пакетний менеджер лається. XFCE4: Мій підхід такий, якщо я встановлюю пакет і він вимагає виправлення USE-прапорів для декількох пакетів, то я створюю для них один файл. Створюємо /etc/portage/package.use/xfce app-text/poppler -qt5 xfce-base/xfce4-meta <флаги>Прапори дивіться так само, як і з KDE. XFCE4 Gentoo Wiki Збираєте пакунки. Встановлюємо дисплейний менеджер. Я вибираю Lightdm . emerge lightdm display-manager-initНалаштовуємо /etc/conf.d/display-manager CHECKVT=7 DISPLAYMANAGER="lightdm" Включаємо ДМ rc-update add display-manager default rc-service display-manager startGNOME: Прочитайте wiki , там розкажуть набагато краще за мене. GNOME краще працює з systemd, але я розповідаю, як налаштувати систему з OpenRC. В ідеалі, Ви маєте повністю робочу ОС із підключенням до мережі та графічним оточенням. Думаю, що на цьому можна закінчити. Знизу Ви можете побачити коротке підбиття підсумків та корисні команди. ДодатокРобота з пакетами emerge <пакет> - встановлення пакету emerge --unmerge <пакет> - видалення пакету emerge -avuDN @world - оновлення emerge --sync - синхронізація з репозіорієм layman -a <оверлей> - додавання оверлея layman -d <оверлей> - видалення оверлея layman -L - перелік оверлеївОверлєї - сторонні репозиторії, щось схоже на AUR. emerge laymanДля їх встановлення layman. І найважливіше - що робити, якщо portage скаржиться на щось. Для початку, не панікуйте та уважно прочитайте виведення програми. Постарайтеся просто зрозуміти, що не так, за необхідності скористайтесь перекладачем. Якщо осмислення не допомогло, читайте цей розділ допоможе. Тут можна докладно почитати про USE-прапори ПідсумокМи встановили Gentoo Linux. Принаймні я сподіваюся, що ця стаття може бути хоч чимось корисною. І пам'ятайте: Gentoo складна лише вперше, далі простіше. Якщо ви зрозумієте, що Вам потрібно від системи, працювати не так страшно. На закінчення скажу, що встановлюючи Gentoo, ви йдете на шлях червоноока (жарт) і на вас чекають муки (теж блазень ... хоча, вперше все -таки чекають). Успіхів тим, хто хоче встановити цю систему. HANDBOOK
  7. ПанельСпершу треба створити нову панель. Для цього потрібно натиснути ПКМ по вже існуючій, далі вибрати "Додати панель" та вибрати пункт "Пуста панель" Нижня панельАле насамперед налаштуємо нижню панель. Мені більше подобається коли вона не ховається, але якщо вам потрібно це просто поставте автоприховування, якщо потрібен док - Latte до ваших послуг Додамо роздільник, потім плазмоїд "Панель завдань (тільки значки)". Далі викачуємо віджет Launchpad Plasma (можна зробити налаштування, я викрутив непрозорість на 100). Потім знову роздільник. Можна додати додатковий віджет. Я додав на початок перемикання робочих столів і віджет "Command Output" з командою echo $"BTW, I use Linux" Верхня панельЯкщо вона не верхня, просто зайдіть в режим редагування, затисніть кнопку "Край екрану" і перетягніть її вгору Поставимо висоту панелі на 35-36. Далі додамо меню програм. Мені більше подобається класичне, тож я додам його. Завантажуємо плазмоїд "Window Title". Додаємо його. Потім роздільник, годинник, знову роздільник та системний лоток. Верхня панель готова. Лаунчер Лаунчер з усіма програмами ми вже додали, але в оригінальному Gnome в лаунчері видно ще всі відкриті програми. Для цього є ефект KWin, але, додаючи через налаштування, не можна вказати клавішу Meta на цей ефект. Тому скористаємося командою: kwriteconfig5 --file ~/.config/kwinrc --group ModifierOnlyShortcuts --key Meta "org.kde.kglobalaccel,/component/kwin,,invokeShortcut,ExposeAll" && qdbus org.kde.KWin /KWin reconfigureВона додасть у файл шляхом ~/.config/kwinrc рядок, який додасть комбінацію клавіш на Meta і перезавантажить WM KWin. Після цього все одразу запрацює PS. З виходом KDE 5.24 можна замінити слово ExposeAll на назву нового ефекту KWin "огляд" (на "Overview")
  8. Всім доброго часу доби, сьогодні я розповім про вирішення однієї проблеми з LightDM, яку багато хто ігнорує, а саме незграбний чорний курсор на екрані входу. Насправді ж вирішується це досить просто, але пряме і легке рішення на просторах інтернету мені знайти не вдалося, або радять копатися в "index.theme", або робити якусь складну і незрозумілу нісенітницю... І більшість, напевно, змирилися з цим (наприклад, у більшості дистрибутивів ця проблема з коробки) або зовсім відмовилися від L. Рішення я викопав з голови на кшталт «перевірю, а раптом». Заздалегідь скажу для тих, хто не в курсі: $ - команда від звичайного користувача # - команда від суперкористувача Власне, у вас повинні бути встановлені кастомні курсори в дистрибутиві, якщо такі є - йдемо далі: Оскільки LightDM-GTK-Greeter-Settings нам не дозволяє налаштовувати курсори, редагуватимемо конфіг, але нічого складного в цьому немає. Зробити це можна двома способами: 1. Через сам термінал маючи привілеї суперкористувача. 2. Використовуючи GUI через будь-який текстовий редактор з правами рут. Хід виконання: 1. Використовуючи термінал. Для початку створимо копію конфіга, для цього виконаємо: $ cp /etc/lightdm/lightdm-gtk-greeter.conf /удобный/для/вас/каталог/lightdm-gtk-greeter.confПісля чого, додамо рядок в кінець файлу, що вказує на назву теми курсору, але обов'язково в системний конфіг "/etc/lightdm/lightdm-gtk-greeter.conf", а бекап про всяк випадок: # echo "cursor-theme-name = название-темы" >> /etc/lightdm/lightdm-gtk-greeter.confЗверніть увагу, що назва теми - назва папки, в якій лежить сама тема, і вона повинна бути встановлена в " /usr/share/icons" . Наприклад, у мене тема "vimix white cursors", папка з темою називається "Vimix-white-cursors", і вона була скопійована у вказаний вище шлях, тому моя команда виглядає так: # echo "cursor-theme-name = Vimix-white-cursors" >> /etc/lightdm/lightdm-gtk-greeter.conf2. Використовуючи GUI. Копіюємо конфіг за допомогою провідника (по дорозі "/etc/lightdm/lightdm-gtk-greeter.conf") / терміналу (команда вище) у зручне для вас місце. Відкриваємо наш файл з правами адміністратора, можна зробити також через консоль, або просто перейти шляхом який зазначений вище і відкрити через той же Kate (в KDE), але для прикладу візьму "Mousepad", тому що є користувачем XFCE, і введу наступну команду: # mousepad /etc/lightdm/lightdm-gtk-greeter.confПісля чого додаємо в кінець рядок " cursor-theme-name = назва-теми " і зберігаємо. Якщо все зробили правильно, логінімся заново (або перезапускаємо пристрій) і бачимо нормальний курсор замість стандартного сокирного. Мені не давала спокою така проблема, хоч вона й не критична, але мозолить око. Можливо, ця статейка допоможе і вам у разі потреби. Результат проробленого заскринив за допомогою " lightdm --test-mode ", попередньо встановивши потрібний для цього пакет " xorg-server-xephyr ", але назва може відрізнятися залежно від його назв у репозиторіях дистрибутивів, я все робив на Arch Linux. Команда установки: # pacman -S xorg-server-xephyrКому цікаво, ось мій конфіг (для розуміння того, як це працює): [greeter] theme-name = Qogir-dark icon-theme-name = Qogir-dark background = /usr/share/backgrounds/wallpapers/LakeSideView.jpg indicators = ~clock;~spacer;~power;~separator font-name = Clear Sans Medium, Medium 10 xft-antialias = true xft-dpi = 96 xft-rgba = rgb xft-hintstyle = hintfull cursor-theme-name = Vimix-white-cursors
  9. ПередмоваЯкщо вам раптом захотілося перестати користуватися пропрієтарними месенджерами типу Telegram, або просто подивитися як це працює, то можете скористатися цією інструкцією. За гайдом можна налаштувати власний сервер XMPP Prosody на Ubuntu 20.04, з веб-версією та закритою реєстрацією, аудіо та відео викликами. Паролі, де вони будуть потрібні, обов'язково потрібно записувати собі, щоб їх не забувати, краще використовувати менеджер паролів Keepass, а щоб простіше генерувати їх, можна встановити pwgen і запускати його командою: pwgen -1 64 В інтернеті є безліч гайдів з налаштування Prosody, але оскільки деякі сайти поступово чи різко вмирають – зайвим не буде. Після налаштування можна перевірити свій сервер на https://compliance.conversations.im – результат має бути 100%, тобто дана конфігурація сервера повністю відповідає сучасним баченням необхідних XEP для роботи з XMPP. Залізна сторона питання - сервер їсть в районі 30-70мб ОЗУ на 30-100 користувачів, тобто для сім'ї та друзів вам вистачить навіть найдешевшої VPS або можете тримати хост вдома, якщо є білий IP. Незважаючи на висловлювання про давність XMPP як технології та перевитрату ресурсів, трафіку це все споживає мало, працює стабільно навіть у 2G мережі, що загалом радше добре, ніж погано. Якщо у вас щось не вийшло, чи потрібні якісь пояснення – пишіть у коментарях, обов'язково відповім. Налаштування домену у реєстратораДля початку нам потрібно прописати DNS записи для домену у вашого реєстратора домену 4 А-записи: conference proxy pubsub upload2 SRV записи: _xmpp-client._tcp.example.com. example.com. 5 0 5222 _xmpp-server._tcp.example.com. example.com. 5 0 52692 TXT запису: _xmppconnect "_xmpp-client-websocket=wss://example.com/xmpp-websocket" _xmppconnect "_xmpp-client-xbosh=https://example.com/http-bind"NGINX+модуліДалі додамо репозиторій Prosody в систему, щоб завжди мати свіжу версію серверної частини: визначаємо дистрибутив та додаємо репозиторій Prosody echo deb http://packages.prosody.im/debian $(lsb_release -sc) main | sudo tee /etc/apt/sources.list.d/prosody.list sudo wget https://prosody.im/files/prosody-debian-packages.key -O/etc/apt/trusted.gpg.d/prosody.gpg sudo apt updateі все, тепер Prosody встановлюватиметься з репозиторію розробників. Встановлення NGINX та модуль завантаження файлів: sudo apt install nginx libnginx-mod-http-perlСтворимо технічні домени та заповнимо: mkdir /var/www/tech chown -R www-data:www-data /var/www/tech sudo nano /etc/nginx/sites-enabled/example.com ---здесь и далее, после nano вставляем нижеидущий код server { server_name example.com; location / { root /var/www/tech; #proxy_pass http://localhost:80; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_buffering off; # proxy_protocol: on; tcp_nodelay on; } } location /http-bind { proxy_pass http://localhost:5280/http-bind; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_buffering off; tcp_nodelay on; } location /xmpp-websocket { proxy_pass http://localhost:5280/xmpp-websocket; proxy_http_version 1.1; proxy_set_header Connection "Upgrade"; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_read_timeout 900s; } location /register_web { proxy_pass http://localhost:5280/register_web; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_buffering off; tcp_nodelay on; auth_basic "Private area"; auth_basic_user_file /var/www/protect/.htpasswd; } location /web { proxy_pass http://localhost:5280/conversejs; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; proxy_buffering off; tcp_nodelay on; } }Технічні домени: upload sudo nano /etc/nginx/sites-enabled/upload.example.com server { listen 80; server_name upload.example.com; root /upload; location / { perl upload::handle; } } pubsub sudo nano /etc/nginx/sites-enabled/pubsub.example.com server { listen 80; server_name pubsub.example.com; root /var/www/tech; index index.html; location / { try_files $uri $uri/ =404; } }proxy sudo nano /etc/nginx/sites-enabled/proxy.example.com server { listen 80; server_name proxy.example.com; root /var/www/tech; index index.html; location / { try_files $uri $uri/ =404; } }conference sudo nano /etc/nginx/sites-enabled/conference.example.com server { listen 80; server_name conference.example.com; root /var/www/tech; index index.html; location / { try_files $uri $uri/ =404; } }Створюємо пароль для закритої реєстрації користувачів: perl -le 'print crypt("пароль_для_регистрации", "любые_символы_для_хэширования")'Далі записуємо згенерований пароль та вписуємо його у /var/www/protect/.htpasswd у форматі login:password mkdir /var/www/protect sudo nano /var/www/protect/.htpasswd login:passwordПідключаємо модуль upload для NGINX: mkdir /upload chown -R www-data:www-data /upload/ mkdir -p /usr/local/lib/perl wget -O /usr/local/lib/perl/upload.pm https://git.io/fNZgLДодамо модуль у конфіг: sudo nano /etc/nginx/nginx.conf perl_modules /usr/local/lib/perl; perl_require upload.pm; client_max_body_size 4096m;Впишемо пароль у конфіг perl: sudo nano /usr/local/lib/perl/upload.pm CTRL+W пишем external_secret ENTER и вписываем пароль $external_secret = 'ПАРОЛЬ'Перезапускаємо NGINX та перевіряємо його роботу: sudo systemctl restart nginx.service sudo systemctl status nginx.serviceЯкщо стартанув без помилок тиснемо CTRL + C і їдемо далі Сертифікати Let's Encrypt+БДUPDATE: на сьогоднішній день сертбот поставляється через snap, версія на пітоні вважається застарілою, тобто вам потрібно встановити snap і certbot, далі отримати сертифікати на 5 доменів, які нижче за інструкцією https://certbot.eff.org/instructions?ws=nginx&os=ubuntu sudo apt install python3-certbot-nginx certbot --nginx --rsa-key-size 4096 -d example.com certbot --nginx --rsa-key-size 4096 -d upload.example.com certbot --nginx --rsa-key-size 4096 -d conference.example.com certbot --nginx --rsa-key-size 4096 -d proxy.example.com certbot --nginx --rsa-key-size 4096 -d pubsub.example.comПісля цього можна зайти на домени та подивитися, чи працюють сертифікати Далі встановлюємо базу даних та редагуємо конфіг: sudo apt install postgresql postgresql-contrib sudo nano /etc/postgresql/14/main/postgresql.conf и там вписываем listen_addresses = '127.0.0.1'(увага, версія Postgesql може бути інша, від цього залежить розташування конфіга в цифрі, замість 14 може бути наприклад 10 або 16) Перезапускаємо БД: sudo systemctl restart postgresql.serviceСтворюємо користувача БД: su - postgres createuser --pwprompt prosodyuserСтворюємо саму БД: psql и вставляем это CREATE DATABASE prosodyuser OWNER prosodyuser;Виходимо з БД \q Установка Prosodysudo apt install prosody lua-event lua-dbi-postgresqlВстановлюємо модулі: (У версії 12 модулі начебто ставляться за умовчанням, але я не розбирався в таких тонкощах) cd /opt sudo apt install mercurial hg clone https://hg.prosody.im/prosody-modules/ prosody-modules chown -R prosody:prosody /opt/prosody-modules Створимо директорію для PID файлу: mkdir /var/run/prosody chown -R prosody:prosody /var/run/prosodyСтворюємо ключ Діффі-Хелмана: cd /etc/prosody/certs/ openssl dhparam -out dh-2048.pem 2048 chown prosody:prosody dh-2048.pem chmod u=rw,go= dh-2048.pemВстановимо пакет для імпорту сертифікатів Prosody: sudo apt install lua-secТепер переходимо до настроювання конфіга самого Prosody: sudo nano /etc/prosody/prosody.cfg.luaІ туди вставляємо наступний конфіг: pidfile = "/var/run/prosody/prosody.pid"; ---администраторы сервера--- admins = { "user@example.com" } ---Отключаем регистрацию через клиенты--- allow_registration = false ---Хранить всё в БД--- default_storage = "sql" sql = { driver = "PostgreSQL"; database = "prosodyuser"; host = "127.0.0.1"; port = 5432; username = "prosodyuser"; password = "ПАРОЛЬ_ОТ_ПОЛЬЗОВАТЕЛЯ_БД"; } sql_manage_tables = true ---Сертификаты--- certificates = "/etc/prosody/certs" ---http http_host = "127.0.0.1" http_ports = { 5280 } https_ports = { } http_interfaces = { "127.0.0.1" } trusted_proxies = { "127.0.0.1" } ---Методы шифрования--- ssl = { --key = "/etc/prosody/certs/example.com.key"; --certificate = "/etc/prosody/certs/example.com.crt"; options = { "no_sslv3", "no_sslv2", "no_ticket", "no_compression", "cipher_server_preference", "single_dh_use", "single_ecdh_use" }; ciphers="EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH+aRSA+RC4:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4:AES256-GCM-SHA384"; protocol = "tlsv1_1+"; dhparam = "/etc/prosody/certs/dh-2048.pem"; } ---Обязательное шифрование Клиент сервер и Сервер и сервер c2s_require_encryption = true; s2s_require_encryption = true; s2s_secure_auth = true; ---Модули--- plugin_paths = { "/opt/prosody-modules/" } ---Глобальные модули--- modules_enabled = { -- Wichtige Module "roster"; "saslauth"; "tls"; "dialback"; "disco"; -- Empfohlene Module "private"; "profile"; "offline"; "admin_adhoc"; "admin_telnet"; --"http_files"; "legacyauth"; "version"; "uptime"; "time"; "ping"; "register"; "posix"; "bosh"; "announce"; -- "proxy65"; "pep"; "smacks"; "carbons"; "blocklist"; "csi"; "csi_battery_saver"; "mam"; "lastlog"; "list_inactive"; "cloud_notify"; "compat_dialback"; "throttle_presence"; "log_auth"; "server_contact_info"; "websocket"; "bookmarks"; "privacy_lists"; --"pubsub"; "filter_chatstates"; "vcard_legacy"; "pinger"; -- "turncredentials"; "http_upload_external"; "register_web"; "http_altconnect"; "conversejs"; "turn_external"; }; ---Выключаем логи--- log = { --debug = "/var/log/prosody/debug.log"; --info = "/var/log/prosody/info.log"; --warn = "/var/log/prosody/warn.log"; --error = "/var/log/prosody/error.log"; } ---Настройка архива сообщений, можно выставить в днях, или отключить вовсе--- default_archive_policy = true; archive_expires_after = "1d"; ---EXTERNAL HTTP UPLOAD--- http_upload_external_base_url = "https://upload.example.com/" http_upload_external_secret = "ПАРОЛЬ_ОТ_UPLOAD" http_upload_external_file_size_limit = 536870912 --4Gb ---шаблон для веб регистрации--- register_web_template = "/etc/prosody/register-templates/Prosody-Web-Registration-Theme" ---Websocket--- consider_websocket_secure = true; --cross_domain_websocket = true; ---настройки веб клиента--- conversejs_options = { debug = false; view_mode = "fullscreen"; } conversejs_tags = { -- Load libsignal-protocol.js for OMEMO support (GPLv3; be aware of licence implications) [[<script src="https://cdn.conversejs.org/3rdparty/libsignal-protocol.min.js"></script>]]; } ---cross_domain_bosh = true; consider_bosh_secure = true; ---TURN STUN для звонков--- turn_external_host = "example.com" turn_external_port = 3478 turn_external_secret = "ПАРОЛЬ" contact_info = { abuse = { "mailto:user@example.com", "xmpp:user@example.com" }; admin = { "mailto:user@example.com", "xmpp:user@example.com" }; feedback = { "mailto:user@example.com", "xmpp:user@example.com" }; sales = { "mailto:user@example.com", "xmpp:user@example.com" }; security = { "mailto:user@example.com", "xmpp:user@example.com" }; support = { "mailto:user@example.com", "xmpp:user@example.com" }; }; ---domain--- c2s_direct_tls_ports = { 5223 } c2s_direct_tls_ssl = { certificate = "/etc/prosody/certs/example.com.crt"; key = "/etc/prosody/certs/example.com.key"; } VirtualHost "example.com" http_host = "example.com" http_external_url = "https://example.com/" authentication = "internal_hashed" Component "conference.example.com" "muc" name = "example.com chatrooms" restrict_room_creation = "local" muc_room_default_public = false muc_room_default_members_only = true muc_room_default_language = "ru" max_history_messages = 500 modules_enabled = { "muc_mam", "vcard_muc", "muc_cloud_notify"; } muc_log_by_default = true disco_items = { { "conference.example.com", "example.com MUC" }; } Component "pubsub.example.com" "pubsub" Component "proxy.example.com" "proxy65" proxy65_acl = { "example.com" } Після зміни конфігу перезапускаємо Prosody: sudo systemctl restart prosody.service sudo systemctl status prosody.serviceІмпортуємо сертифікати, які створили за допомогою Let's Encrypt: sudo prosodyctl --root cert import /etc/letsencrypt/liveСтворюємо веб-інтерфейс для реєстрації: mkdir /etc/prosody/register-templates/ cd /etc/prosody/register-templates git clone https://gitlab.com/mimi89999/Prosody-Web-Registration-Theme.gitНалаштування дзвінківУстановка Coturn для дзвінків через Conversation та Dino sudo apt install coturnДалі правимо конфіг: sudo nano /etc/turnserver.conf use-auth-secret static-auth-secret=ПАРОЛЬ_ДЛЯ_КОТЮРНА realm=example.com # VoIP traffic is all UDP. There is no reason to let users connect to arbitrary TCP endpoints via the relay. no-tcp-relay # don't let the relay ever try to connect to private IP address ranges within your network (if any) # given the turn server is likely behind your firewall, remember to include any privileged public IPs too. denied-peer-ip=10.0.0.0-10.255.255.255 denied-peer-ip=192.168.0.0-192.168.255.255 denied-peer-ip=172.16.0.0-172.31.255.255 # special case the turn server itself so that client->TURN->TURN->client flows work allowed-peer-ip=10.0.0.1 # consider whether you want to limit the quota of relayed streams per user (or total) to avoid risk of DoS. user-quota=12 # 4 streams per video call, so 12 streams = 3 simultaneous relayed calls per user. total-quota=1200І ще один: sudo nano /etc/default/coturn расскоментируйте строчку enable 1 и sudo systemctl enable --now coturn sudo systemctl restart coturn sudo systemctl status coturnІмпорт сертифікатів за допомогою Cron: sudo crontab -e 0 5 * * 1 /usr/bin/certbot renew --renew-hook "prosodyctl --root cert import /etc/letsencrypt/live" --quietВключаємо файрвол: sudo ufw allow 3478 sudo ufw allow 5222 sudo ufw allow 5000 sudo ufw allow 5269 sudo ufw allow ssh sudo ufw allow 443 sudo ufw allow 80 sudo ufw enable Видалення файлів користувачів Оскільки автоочищення файлів немає, можна видаляти їх через Cron залежно від часу: sudo nano /etc/cron.daily/deletefilesВставляємо: #!/bin/sh find /upload/ -type f -mtime +30 -exec rm -v {} \;Після цього скрипт перевірятиме дати файлів і видалятиме все, що старше 30 днів. Робимо файл виконуваним: chmod +x deletefilesРеєстрація користувачів відбувається на сторінці https://example.com/register_web, якщо ви попередньо надіслали їм логін та пароль для заходу Веб клієнт Converse.js знаходиться тут https://example.com/web КлієнтиКлієнти для смартфонів: Conversations https://conversations.im/ Android Blabber https://blabber.im/en.html Android Monal https://monal.im/ iOS Siskin https://siskin.im/ iOS Клієнти для ПК: Gajim https://gajim.org/ GNU/Linux та Windows DINO https://dino.im/ GNU/Linux Web клієнт: https://conversejs.org/ Стаття розповсюджується під ліцензією GNU FDL 1.3, повний текст ліцензії доступний на https://www.gnu.org/licenses/fdl-1.3.html
  10. Насамперед пару слів, що це. По суті це майстер пароль, що зберігаються паролів у зашифрованому вигляді та доступних за майстер-паролем. Зручно це чи ні міркувати не стану. скажу лише, що в інтернеті купа прикладів як це видалити і я додам ще один, тому що мені допоміг саме він, і не додаючи програм типу seahorse. Отже, ви встановили Chromium або Edge, скинули ярлик на робочу панель або робочий стіл. Якщо мова йде про робочий стіл, то правий клік > Змінити значок запуску або властивості та вибрати вкладку "Запуск". Якщо ярлик на панелі то правий клік > "Властивості", знову правий клік по іконці браузера > "Змінити елемент", в обох випадках нас цікавить рядок "Команда:" Все, що ми робимо, ми говоримо браузеру, що не користуватимемося Майстром паролем, додавши в команду запуску ярлика --password-store=basic На прикладі з Edge повністю замінюємо рядок /usr/bin/microsoft-edge-stable %U на /usr/bin/microsoft-edge-stable --password-store=basic %U На прикладі з Chromium замінюємо на chromium --password-store=basic %U Так само має працювати і на звичайному Chrome або в інших браузерах, заснованих на Blink, просто в рядку адреси запуску після назви браузера додаємо (--password-store=basic) Виглядає приблизно так /usr/bin/назва браузера --password-store=basic %U
  11. Давно придбав дангл (TP-Link AC1300 Archer T3U) і не міг завести його на Ubuntu 22.04. Вперто не хотіла бачити адаптер. Зрештою знайшов матеріал на сайті (community.tp-link.com/en/home/forum/topic/208022). Для встановлення драйверів потрібно виконати такі команди: git clone https://github.com/cilynx/rtl88x2bu.git cd rtl88x2bu VER=$(sed -n 's/\PACKAGE_VERSION="\(.*\)"//p' dkms.conf) sudo rsync -rvhP ./ /usr/src/rtl88x2bu-${VER} sudo dkms add -m rtl88x2bu -v ${VER} sudo dkms build -m rtl88x2bu -v ${VER} sudo dkms install -m rtl88x2bu -v ${VER} sudo modprobe 88x2buВсе спрацювало, тільки обов'язково треба вимкнути безпечне завантаження та перезавантажити комп'ютер.
  12. Ciko опублікував тема в Статті
    Синтаксисhead опції ФАЙЛ ФАЙЛ — це один або кілька файлів, записаних через пробіл, рядки яких потрібно вивести. Якщо вказується кілька файлів, виводиться перші N рядків з кожного файла. Перед початком виведення рядків кожного файлу відображається ім'я файлу. Опції-n LINESабо--lines=LINESабо--lines=-LINES Вказує кількість рядків, яку потрібно вивести. LINES — кількість перших рядків із файлу, яке потрібно вивести. Якщо значенняLINESнегативне, то виводиться весь вміст файлу, крім останніх N рядків (де N=LINES). -c BYTESабо--bytes=BYTESабо--bytes=-BYTES Задає кількість байт, яку потрібно вивести. BYTES - кількість перших байт із файлу, яке потрібно вивести. Якщо значенняBYTEнегативне, виводиться весь вміст файлу, крім останніх N байт (де N=BYTES). ЗначенняBYTESможна вказати з суфіксом: b (512 байт), kB (1000 байт), MB (1000 1000), M (1024 1024), GB (1000 1000 1000), G (1024 1024 1024), T ,. KiB=K, MiB=M тощо. -qабо--quietабо--silent Не друкуйте імена файлів. Примітка: Імена файлів друкуються, якщо вказано декілька файлів. Якщо ця опція встановлена, імена файлів не друкуються, і між вмістом різних файлів не додається порожній рядок. -vабо--verbose Завжди друкувати імена файлів. Перед вмістом файлу додається рядок з ім'ям файлу. -zабо--zero-terminated Вважати, що рядки у файлі поділяються символом NULL. --help Показати довідку про команду head. --version Показати версію утиліти head. Приклади використання команди headРозглянемо кілька прикладів використання командиheadу Linux. Виведення перших рядків файлу на екранВивести перші 10 рядків файлу: head myfile.txtВивести перші 25 рядків файлу: head -n25 myfile.txtВиведення декількох перших байт файлуВивести вміст перших 100 байт файлу: head -c100 myfile.txtВивести вміст першого мегабайта файлу (тут використовується суфікс M): head -c1M myfile.txtВиведення перших рядків із кількох файлівВивести перші 3 рядки з кожного файлу: head -n3 myfile.txt myfile2.txtРезультат: ==> myfile.txt <== Manjaro Linux Mint Debian ==> myfile2.txt <== Kali Linux Ubuntu Studio Q4OSВикористання head для друку перших рядків виведення іншої командиКоманду head часто використовують для того, щоб надрукувати перші N рядків виведення іншої команди. Виконати команду ls -t і вивести лише перші 12 рядків. Командаls -tвиводить на екран список файлів у директорії та сортує їх за часом зміни (бо вказано ключ-t). У цьому прикладі буде виведено в повному обсязі файли, лише перші 12. ls -t | head -n12Вивести вміст файлу командою cat, але надрукувати тільки перші 5 рядків: cat /var/log/Xorg.0.log | head -n5
  13. Проблема У Xfce у файловому менеджері Thunar не створюються посилання на файли та папки, у назві яких є прогалини. Вирішення проблеми Зайти в налаштування Thunar: Правка -> Особливі дії -> Створити посилання -> шестерня. У рядку "Команда" замінити одинарні лапки на подвійні. Неправильна команда: ln -s %f 'Посилання на %n'Правильна команда: ln -s %f "Посилання на %n"
  14. Підключення підсвічування синтаксисуПравила підсвічування синтаксису для nano описуються у текстових файлах/usr/share/nano/*.nanorc. Вам достатньо підключити ці файли в установках nano. Відкрийте файл~/.config/nano/nanorcі додайте до нього наступний рядок: include "/usr/share/nano/*.nanorc"Увага: Файл~/.config/nano/nanorcможе не існувати. Якщо файлу немає, створіть відповідну директорію і сам файл. Це можна зробити, виконавши команду:mkdir -p ~/.config/nano; cd !$; nano nanorc Тепер можна відкрити nano, наприклад, JSON файл, і підсвічування синтаксису має працювати. Додаткові можливостіПідсвічування для всіх користувачів у системіЯкщо ви хочете, щоб підсвічування синтаксису працювало не тільки для вашого користувача, але й для всіх користувачів у системі, то замість файлу~/.config/nano/nanorcпотрібно редагувати файл/etc/nanorc Підсвічування лише певних форматівЯкщо ви не хочете включати підсвічування всіх доступних мов і форматів, можна підключити лише вибіркові. Для цього замістьinclude «/usr/share/nano/*.nanorc»вкажіть конкретні файли, наприклад: include "/usr/share/nano/json.nanorc"Поліпшене підсвічуванняМожна скачати додаткові файли конфігурації ( nano-syntax-highlighting ), що розширюють стандартні можливості підсвічування синтаксису. Вони представлені в репозиторії https://github.com/scopatz/nanorc Інструкція зі встановлення доступна за посиланням. В Arch Linux достатньо встановити пакетnano-syntax-highlightingта прописати в nanorcдодатковий рядок: include "/usr/share/nano-syntax-highlighting/*.nanorc"
  15. З використання та встановленняСаме частина по установці була скорочена і залишилася тепер у чорновому варіанті. На початку я написав про Una (відповідно до назви статті), але зараз в інструкціях з повноцінної установки фігурує Mist, а Una ніде більше не згадується, крім скріншота зі статті. Про Una у мене залишилися спогади, та стаття вище та скрипт установки на диску, який посилається на пакет для встановлення, але він не доступний . Пошук пакетів для встановлення на цій сторінці , а на головній відзначені Нові та Популярні пакети. Коли використовував MX, то встановлював звідси лише Freetube , звичайним клонуванням та збиранням на місці. Решта було або в рідних репозиторіях, або було і тут. ЕпілогЗараз це додатковий сторонній репозиторій, звідки можна встановити пакети, якщо ті відсутні в рідних репозиторіях або свіжіших версій. Процес установки , описаний в Installing, займає небагато часу. Але сюди потрібно додати повноцінну установку Mist - консольний помічник, який займається тим, що описано на початку для Una - установка, видалення та інше, а інакше встановлювати сенсу немає. Mist необхідний, щоб використовувати через термінал, а чи не через сайт. Наскільки я пам'ятаю, помічник Una ставав повноцінною заміною стандартного APT, тому Mist, напевно, може стати такою заміною. Не знаю, як це покаже себе у довгостроковій перспективі з оновленнями, чистками від сміття та іншими завданнями.
  16. TL;DR - скорочення від фрази "too long; didn't read", в російськомовних джерелах часто використовують у вигляді "не подужав, багато літер". Проект TLDR-pages створений з метою спрощеного відображення довідкової інформації з синтаксису команд Лінукс та є зручним доповненням до довідника MAN . Основна ідея - дати користувачеві коротке пояснення з прикладами опцій тієї чи іншої команди консолі, що найчастіше використовуються. TLDR в жодному разі не замінює MAN, він лише подає інформацію у більш компактному та зручному вигляді. Офіційним є node.js-клієнт, який можна встановити з GitHub-сторінки проекту: TLDR-pages Однак є безліч альтернативних варіантів: консольні, з графічним інтерфейсом, веб-версії. Підібрати відповідний клієнт можна на сторінці GitHub: TLDR clients Синтаксис програми дуже простий, покажу на прикладі консольної версії, встановленій у мене: # Приклади використання tldr: tldr chmod tldr flatpak tldr dmesgСподіваюся стаття вийшла цікавою, а інформація, викладена в ній, знайде свого користувача.
  17. GUI-версія підтримує переклади на велику кількість мов, включаючи російську. Замість прописування команд і ключів у терміналі, необхідних шляхів, тут у налаштуваннях: вибір пристрою, включення Secure boot і між стилями розмітки - MBR і GPT, можливість виділення додаткового розділу. Нагадаю, що USB-пристрій не втрачає здатності до запису інформації, а додавання ISO-образів відбувається звичайним копіюванням та видаленням програм сама виведе назви в меню. Сторінка завантаження перенаправляє або на сторінку gitee, де все є ієрогліфами, або на github, де можна завантажити архів з останньої версії для Linux, Windows і livecd-версію. В архіві лежать файли VentoyGUI під різні архітектури, при їх запуску відповідно і з'явиться головне вікно, яке покаже поточні версії на вибраному пристрої, якщо така вже є, і запущену. Значок замка означає підтримку SB. Коли раніше оновлював через консоль версію на флешці, то стикався з тим, що всі образи видалялися, хоча на сайті читав протилежне, може, ключ треба було якийсь додати… Зараз оновив і всі образи залишилися не зворушеними.
  18. "Хто пише Linux і програмне забезпечення з відкритим вихідним кодом? ( link ) // Розробники і, що важливіше, компанії, які їх наймають. Часто я стикаюся з тими, хто думає, що Linux і програмне забезпечення з відкритим вихідним кодом роблять люди, які живуть у підвалі своїх батьків і пишуть код добродушно. Неправильно! В корені невірно! Так, деякі пишуть відкритий вихідний код, щоб позбутися творчої сверблячки або просто тому, що їм це подобається. Але якщо придивитися, то виявиться, що переважна більшість сучасних програмістів відкритого вихідного коду роблять це з тієї ж причини, що ви робите свою роботу: гроші. Не зрозумійте мене неправильно, розробники програмного забезпечення з відкритим вихідним кодом зазвичай люблять свою роботу. На кожного відомого мені програміста відкритого вихідного коду, який не любив писати код для призначеного йому проекту, я знав принаймні дюжину тих, хто працював над пропрієтарними програмами. Цифри говорять самі за себе. Aiven, компанія, що займається платформою хмарних даних з відкритим вихідним кодом, нещодавно проаналізувала, хто і що робить із проектами з відкритим вихідним кодом на GitHub. Вони виявили, що основними учасниками відкритого вихідного коду були компанії – Amazon Web Services, Intel, Red Hat, Google та Microsoft. Майкрософт!!? Так, Майкрософт. Знаю, що ви змалечку плювалися від однієї цієї назви, і багато хто з вас досі продовжує вважати Microsoft Імперією Зла. Друзі, Білл Гейтс і Стів Балмер, жоден з яких не любив відкритий вихідний код, ні Linux, майже десятиліття не керують Microsoft. Це не Microsoft часів наших батьків. Тож прийміть це як даність. Aiven вивчила три показники у архівах GitHub. Це була кількість учасників, репозиторіїв (проектів), до яких вони зробили свій внесок, та кількість коммітів, зроблених учасниками. Вони були розраховані за допомогою аналізу Google Big Query для PushEvents на загальнодоступних даних GitHub. Компанія виявила, що Microsoft і Google йдуть ніздрі в ніздрю у битві за перше місце. Red Hat знаходиться на третьому місці, за нею слідує Intel, потім AWS і злегка відстає IBM. Зокрема дослідження показало, що в останньому кварталі 2022 року Microsoft і Google продовжували змагатися за перше місце. Співробітники Google працювали над більшою кількістю проектів, ніж Microsoft, але загалом вносили менше оновлень (коммітів). Red Hat слідує за нею і в даний час вносить більше коммітів, ніж Google: 125 012 у четвертому кварталі 2022 року в порівнянні з 94 961 у Google. Microsoft випереджає обох із 128 247 проектами. Тим не менш, що стосується позаштатних співробітників, які працюють над проектами, Google лідирує з 5757 у порівнянні з 5513 у Microsoft і 3656 у Red Hat. Intel посідає четверте місце серед учасників GitHub. Незважаючи на різкий стрибок кількості коммітів у AWS, Intel продовжує доводити свою прихильність до відкритого вихідного коду: 2834 учасники працюють над проектами і 36 948 коммітів. Звичайно, з урахуванням недавніх скорочень у Google розробників відкритого коду ці цифри можуть змінитися. Цікаво, що хоча гіперхмарні (hypercloud) компанії, особливо AWS, не отримують визнання за підтримку розробки програмного забезпечення з відкритим вихідним кодом, вони фактично вкладають гроші, робочі місця та код у такі проекти. Зокрема, Aiven виявила, що "Amazon збільшує кількість учасників з відкритим вихідним кодом за трьома показниками: учасники, репозиторії, в які вони зробили свій внесок, і кількість коммітів учасників". Справді, AWS зробила так багато для цього, що за одним показником, зафіксованим GitHub, Amazon вже робить більший внесок, ніж Intel. Хейккі Ноусіайнен (Heikki Nousiainen), технічний директор та співзасновник Aiven, прокоментував: "Несподіваним результатом нашого дослідження стало те, що Amazon обігнала IBM і стала п'ятим за величиною вкладником". Вони «запізнилися на вечірку з відкритим вихідним кодом, але тепер вони подвоюють свої зобов'язання щодо відкритого вихідного коду та усвідомлюють переваги, які дає участь у проектах із відкритим вихідним кодом, які використовують їхні клієнти». Отже, відкритий вихідний код, безумовно, починався з окремих учасників, але сьогодні, як і роки до цього, саме співробітники компаній створюють код. Як сказав Нусіайнен: «Інновації лежать в основі спільноти відкритого вихідного коду, але без твердої прихильності компаній вся система відчуватиме труднощі. Ми бачимо, що компанії усвідомлюють свою роль та підтримують усіх, хто використовує відкритий вихідний код». Не тільки Aiven зазначає, що компанії наразі є економічним двигуном відкритого вихідного коду. Джонатан Корбет (Jonathan Corbet), головний редактор Linux Weekly News (LWN), у своєму останньому аналізі випусків ядра Linux з довгостроковою підтримкою з 5.16 по 6.1 виявив, що тільки 7,5% розробки ядра, що вимірюється зміненими рядками, припало на індивідуальні. Справжніми лідерами були: AMD, Intel, Google, Linaro (основна організація з розробки Arm Linux), Мета і Red Hat.
  19. Коротко про Unix ShellUnix shell - це оболонка (інтерпретатор команд), що надає інтерфейс користувача командного рядка для Unix подібних операційних систем. Оболонка одночасно є мовою інтерактивних команд та мовою сценаріїв (скриптів) та використовується користувачем для передачі команд (списку команд) операційній системі. Назва BASH походить від "Bourne again shell" (ще одна командна оболонка Борна). З'явилася 1987 року, як удосконалений варіант командної оболонки Bourne shell (sh, автор Стівен Борн). Оскільки прізвище Bourne (Борн) співзвучне зі словом born (народжений), з'явився каламбур "Born again shell" (народжена знову командна оболонка). BASH, як і всі shell, є командним процесором, що працює в текстовому вікні в інтерактивному режимі. Підтримує різні скорочення та змінні, оператори циклу, контроль та підстановку виведення результатів, автодоповнення імен файлів та каталогів. Синтаксис BASH та інші особливості мови були запозичені його автором Браяном Фоксом із SH . BASH — одна з перших програм, які Лінус Торвальдс (творець Linux) портував на Linux. BASH - найпоширеніша оболонка Linux і кожен користувач, який хоч раз відкривав термінал, взаємодіяв із нею. лючові особливості BASH: Багато користувачів використовують BASH, оскільки ця оболонка встановлена за замовчуванням у більшості систем Linux Командний процесор BASH має багато вбудованих команд BASH не має вбудованого виразу з підстановними знаками ( * , ? , [] ), які використовуються для пошуку шаблонів, аналогічно регулярному виразу Символ # розглядається як коментар у сценарії BASH Має вкрай скромні (обмежені можливості) налаштування Параметри конфігурації користувача знаходяться в домашньому розділі у файлі /home/.bashrc Перша версія ZSH була написана Паулем Фалстадом, коли він був студентом університету Прінстона в 1990 році. Назва оболонки походить від облікового запису "zsh" університетського асистента Пауля на ім'я Чжун Шао. В даний час проект розвивається ентузіастами під керівництвом Пітера Стефенсона в рамках ПЗ, що вільно розповсюджується. ZSH є розширеним аналогом BASH і має з ним зворотну сумісність, додаючи йому велику кількість покращень. Ключові особливості ZSH: Вбудоване автозаповнення із розширеним функціоналом. Клавіша TAB ⇆ використовується для автоматичного доповнення (завершення) будь-якої команди, яку потрібно запустити. Крім автозаповнення вона виводить список всіх можливих файлів і каталогів, що розкривається. Підтримує вбудовані вирази з знаками підстановки ( * , ? , [ ] ) Більш налаштований, ніж BASH Підтримує різні плагіни, що розширюють функціонал та теми для кастомізації зовнішнього вигляду. Oh My Zsh – найбільш відомий фреймворк для застосування різноманітних налаштувань оболонки Параметри конфігурації користувача знаходяться в домашньому розділі у файлі /home/.zshrc FISH – це POSIX несумісна оболонка UNIX з упором на інтерактивність та зручність використання, була створена Акселем Лільєнкранцем у 2005 році. POSIX (Portable Operating System Interface) – набір стандартів, що описують інтерфейси між операційною системою та прикладною програмою (системний API ), бібліотеку мови "C" та набір додатків та їх інтерфейсів. На відміну від інших оболонок, яким потрібно багато налаштувань та додаткових плагінів, FISH пропонує всі зручності користувачеві прямо "з коробки". У той же час FISH є нестандартною оболонкою через те, що вона не відповідає POSIX. Синтаксис в FISH також змінений у бік спрощення командної мови оболонки, наприклад, всі керуючі конструкції завершуються ключовим виразом "end" . Ще одним нововведенням FISH є універсальні змінні, що вводяться за допомогою конструкції "set-U змінна значення" . Ключові особливості FISH: FISH пропонує автоматичний пошук під час введення, заснований на історії команд і каталозі, в якому ви знаходитесь на момент введення Вбудоване підсвічування синтаксису – це функція, яку ми всі хотіли б мати в інтерфейсі командного рядка. Це робить роботу простішою та зручнішою, економить багато часу. І все це пропонується користувачеві прямо з коробки, інтерфейс виглядає красиво і інтуїтивно зрозуміло FISH вміє аналізувати довідкові сторінки MAN і перетворювати їх на табличний формат виведення зі зручним переміщенням між даними Налаштування FISH дуже прості та зрозумілі. Для зміни зовнішнього вигляду достатньо набрати у вікні терміналу команду: « fish_config », — відкриється веб-сервіс налаштувань, з можливістю вибору вже готової попередньої установки, або будь-якої конфігурації користувача Додатково для розширення можливостей та налаштувань кастомізації FISH пропонується фреймворк Oh My Fish , аналогічний такому у ZSH FISH пропонує дуже простий та інтуїтивно зрозумілий інтерфейс командного рядка для будь-якого користувача будь-якого рівня. Для виклику довідки по командному процесору FISH потрібно просто набрати " help " у вікні терміналу, - відкриється веб-сервіс із зручно організованою і добре наповненою інтерактивною базою знань, в якій точно "знайдеться все" Параметри конфігурації користувача знаходяться в домашньому розділі у файлі /home/.config/fish/config.fish Демонстрація особливостей
  20. Як розділити файл на частини Використовуємо командуsplit, щоб розділити файл на кілька маленьких: split --bytes=1024M file.mkv file.part.Ми вказали: file.mkv — ім'я вихідного файлу, який необхідно розбити на частини. file.part.- Префікс (назва) імен файлів, на які буде розбито вихідний файл. Тобто в нашому випадку ми розіб'ємо вихідний файл на файлиfile.part.aa,file.part.ab,file.part.ac, ... --bytes=1024M - Задає розмір файлів, на які розбивається вихідний файл. У цьому випадку ми розбиваємо вихідний великий файл на файли розміром 1024 мегабайт. Для визначення розміру можна використовувати символи: K або k - кілобайти M або m - мегабайти G або g - гігабайти Наприклад, щоб розділити файл на частини розміром 512 кілобайт, потрібно використовувати опцію--bytes=512K Як об'єднати файли в один Після того, як ми розбили файл на частини, можна об'єднати їх, щоб отримати вихідний файл. Для цього використовуємо команду: cat file.part.* > file.mkvfile.part.* - маска імені файлів шматочків, які ми об'єднуємо. file.mkv - Назва (шлях) до файлу, в який ми об'єднуємо наші файли-шматочки. Як розбити текстовий файл рядкамиЯкщо вам потрібно розділити текстовий файл на кілька файлів за кількістю рядків, то ми можемо використовувати командуsplitз опцією-l, яка визначає кількість рядків у кожному файлі, на які ми розбиваємо вихідний файл. split -l 1000 textfile.txt textfile.part.Ми розділили вихідний текстовий файл на файли по 1000 рядків у кожному. Об'єднання файлів виконується так, як описано в попередньому параграфі. ВисновокМи розглянули найпростіші способи поділу файлу на кілька частин за допомогою командного рядка. Для розділення файлів використовується командаsplit. Для об'єднання файлів ми використовували командуcat. Щоб отримати більш детальну інформацію про командуsplit, виконайте у терміналі: man splitОписаний вище спосіб можна використовувати як у Linux, так і MacOS.
  21. Ciko опублікував тема в Статті
    Опис команди tailtail Друкує останні 10 рядків файлу або останніх 10 рядків виведення іншої команди. Кількість друкованих рядків можна змінити. Підтримує відстеження зміни вмісту файлу. Синтаксисtail опції ФАЙЛ ФАЙЛ — це один або кілька файлів, записаних через пробіл, рядки яких потрібно вивести. Якщо вказується кілька файлів, виводиться останні N рядків із кожного файла. Перед початком виведення рядків кожного файлу відображається ім'я файлу. Опції-n LINESабо--lines=LINESабо--lines=+LINES Вказує кількість рядків, яку потрібно вивести. LINES — кількість перших рядків із файлу, яке потрібно вивести. Якщо передLINESвказано знак+, Виводиться весь вміст файлу, крім перших N-1 рядків (де N=LINES), тобто, починаючи з рядка з номером N. -c BYTESабо--bytes=BYTESабо--bytes=+BYTES Задає кількість байт, яку потрібно вивести. BYTES — кількість останніх байт із файлу, яке потрібно вивести. Якщо перед значеннямBYTESвказано знак+, Виводиться весь вміст файлу, крім перших N-1 байт (де N=BYTES), тобто, починаючи з байта з номером N. ЗначенняBYTESможна вказати з суфіксом: b (512 байт), kB (1000 байт), MB (1000 1000), M (1024 1024), GB (1000 1000 1000), G (1024 1024 1024), T ,. KiB=K, MiB=M тощо. -f Відстежувати появу нових рядків у файлі. Виводити останні рядки файлу в міру їх появи. За замовчуванням tails слідкує за дескриптором файлу (--follow=descriptor), тобто, наприклад, якщо під час відстеження файл буде перейменований, це не вплине на виконання команди. --follow=descriptor Слідкуйте за дескриптором файлу. Те саме, що й просто-f(Див. опис вище для опції-f). --follow=name Відстежувати файл на ім'я (не по дескриптору). вище опис опції-f --retry Намагайтеся відкрити файл, якщо він недоступний. Опція використовується лише під час відстеження файлу, тобто спільно з опцією-fабо--follow={name,descriptor} Опцію зручно використовувати при відстеження файлів логів, які можуть ротуватися, тобто файл, що відстежується, періодично може бути недоступний. -F Те саме, що й --follow=name --retry. Відстежувати файл на ім'я; намагатись відкрити, якщо недоступний. --max-unchanged-stats=N Використовується разом із опцією--follow=name. Повторно відкриває файл, розмір якого не змінився після Nперевірок (за замовчуванням 5), щоб перевірити чи був файл перейменований (наприклад, це файл логів, що ротується) або виконаний unlink. --pid=PID Припинити відстеження, якщо процес з ідентифікаторомPID вмирає. Використовується разом із опцією-f. -sабо--sleep-interval=N Робити паузу приблизно Nсекунд (за промовчанням 1) між перевірками файлу. Використовується разом із опцією-f. У inotify та --pid=PIDвиконувати перевірку процесуPIDмінімум один раз на Nсекунд. -qабо--quietабо--silent Не друкуйте імена файлів. Примітка: Імена файлів друкуються, якщо вказано декілька файлів. Якщо ця опція встановлена, імена файлів не друкуються, і між вмістом різних файлів не додається порожній рядок. -vабо--verbose Завжди друкувати імена файлів. Перед вмістом файлу додається рядок з ім'ям файлу. -zабо--zero-terminated Вважати, що рядки у файлі поділяються символом NULL. --help Показати довідку за командою tail. --version Показати версію утиліти tail. Приклади використання команди tailРозглянемо кілька прикладів використання командиtailу Linux. Виведення останніх рядків файлу на екранВивести останні 10 рядків файлу: tail myfile.txtВивести останні 25 рядків файлу: tail -n25 myfile.txtВиведення кількох останніх байт файлуВивести вміст останніх 100 байт файлу: tail -c100 myfile.txtВивести вміст останнього мегабайта файлу (тут використовується суфікс M): tail -c1M myfile.txtВиведення останніх рядків із кількох файлівВивести останні 3 рядки з кожного файлу: tail -n3 myfile.txt myfile2.txtРезультат: ==> myfile.txt <== Ubuntu MATE Xubuntu Lubuntu ==> myfile2.txt <== Clear Linux Bodhi Linux Garuda LinuxВикористання tail для друку останніх рядків виведення іншої командиКомандуtailможна використовувати, щоб надрукувати останні N рядків виведення іншої команди. Виконати командуls -tта вивести лише останні 5 рядків. Командаls -tвиводить на екран список файлів у директорії та сортує їх за часом зміни (бо вказано ключ-t). У цьому прикладі будуть виведені не всі файли, а останні 5. ls -t | tail -n5Вивести вміст файлу командою cat, але надрукувати тільки останні 12 рядків: cat /var/log/Xorg.0.log | tail -n12Відстеження змін у файлах логівКомандаtailможе використовуватися для відстеження змін у файлах логів (або будь-яких інших), до яких періодично можуть додаватися нові рядки. Відстежувати появу нових рядків у файлі/var/log/messagesта виводити останні 20 рядків файлу: tail -n20 -F /var/log/messagesПопередня команда має особливість, що, наприклад, якщо під час відстеження файл буде очищено або замінено іншим файлом, то після цього командаtailдрукує весь вміст файлу. Якщо така поведінка неприйнятна, то можна скористатися командоюwatchспільно з tail. Виводити останні 20 рядків файлу раз на 2 секунди: watch -n2 tail -n20 myfile.txt
  22. Ciko опублікував тема в Статті
    Встановлення NixOSNixOS можна встановити з live образу у графічному режимі зі звичним установником Calamares. На сьогодні є дві версії образу з DE, в яких запускається інсталятор, GNOME та KDE. Також є мінімалістичний .iso без графічної оболонки. Я вибрав Calamares для мене так простіше. У самій установці нічого складного немає, але хочеться позначити один нюанс із розбивкою дисків. Усі встановлені програми, бібліотеки та інше зберігаються в /nix/store/ . Насправді вся ОС перебуває у /nix/store . В корені / нічого не зберігається, крім структури каталогів та посилань. Якщо ви щось захочете додати або редагувати в цих каталогах, це не вплине ні на що, і взагалі не працюватиме. Усі налаштування та інше потрібно прописувати лише у файлі /etc/nixos/configuration.nix . Я встановлював NixOS на SSD диск 60Гб, розбив його так: /boot/efi - 512МБ, під корінь залишив / - 2 ГБ ( навіть цього виявилося багато, зараз використовується всього 450МБ), і, головне, змонтував 37ГБ /nix (сюди ОС буде встановлювати все і вся, зараз у мене використано 17 ГБ), все інше, 20ГБ , Під час встановлення смужка прогресу застряє на приблизно 46%, але установка продовжується, можна клікнути на кнопочку праворуч в кінці прогресу, щось на зразок log... Ще нам запропонують поставити галочку на дозвіл на використання пропрієтарного ПЗ. Ставимо. Налаштування NixOSІ так система встановилася, перезавантажуємося і бачимо звичну DE, яку ви вибрали на якомусь етапі установки. Я вибрав Cinnamon. Перше, що ми зробимо, перейдемо на Unstable channels. У Nix подібність репозиторіїв називаються channels (канали). Перехід на Unstable версію обумовлений тим, що в стабільній версії може не виявитися потрібного та звичного ПЗ, та й версії пакетів застарілі, як Debian stable. Нестабільний, це не означає, що відразу будь-якої миті все зламається. Версії пакетів будуть щось на зразок Debian testing + sid. Та й у будь-який момент можна буде з легкістю перезавантажитись у попередній стан системи. Робочу систему неможливо зламати якимись неправильними діями. Це ще одна чудова особливість nix, але про це пізніше. Додаємо канали: sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos sudo nix-channel --add https://nixos.org/channels/nixpkgs-unstable nixosОновлюємо канали: sudo nix-channel -updateОновлюємо всю систему: sudo nixos-rebuild switch --upgradeВід звичного в NixOS тільки de, яке ви можете потикати, покликати, але встановити з його допомогою нічого не вийде. Усі DE у NixOS максимально урізані. Навіть деякі штатні програми не працюють. У nix все робиться через configuration.nix Встановлення програмВсі програми встановлюються простим переліком назв пакетів у configuration.nix . Але тут також є кілька особливостей: Назва програм може кардинально відрізнятися від звичних інших дистрибутивів. Деякі популярні програми існують у двох видах. У вигляді сервісів, що підключаються, і просто програм. Дуже багато поширеного софту NixOs існує у вигляді сервісів. Steam, wine, waydroid та ін., та ін. Тому, перш ніж вписувати щось у configuration.nix , спочатку потрібно знайти назву цікавої для вас програми на сайті пошуку NixOS: https://search.nixos.org Спочатку тиснемо кнопку unstable внизу форми пошуку. Потім NixOS options. Якщо нічого не знаходимо, то шукаємо Packages. Для прикладу встановимо ігровий клієнт Steam: Набираємо у формі пошуку Steam. Виходить багато різних назв сервісів та опцій для Steam. Потрібне нам називається programs.steam.enable . Дізнаємося з опису, натиснувши на посилання, як його включити. Тепер включаємо його, просто вписуючи в cofigutation.nix : programs.steam.enable = true;Не забуваємо дотримуватися всіх знаків пунктуації, особливо в кінці крапка з комою. Для цього відкриємо термінал та відредагуємо файл configuration.nix у редакторі nano. sudo nano /etc/nixos/configuration.nixЯкщо зручніше, у Cinnamon можна відкрити штатним редактором xed. Або який знайдете залежно від обраного при встановленні DE. Але nano у системі встановлений завжди. sudo xed /etc/nixos/configuration.nixУ ньому вже прописані купа будь-яких початкових налаштувань та блоків. Вписуємо десь, щоб не потрапити в якийсь блок ув'язнений між всілякими дужками. programs.steam.enable = true;Для запуску деяких ігор в Steam потрібно буде встановити пакет Steam-runtime. Знову відкриваємо сайт пошуку та шукаємо Steam-runtime. У NixOS options нічого не знаходить, тому клацаємо по Packages. Потрібний пакет називається steamPackages.steam-runtime. І ще одна особливість. Пакети, програми вписуємо у певний блок. Можна встановити набір програм для конкретного користувача або всієї системи. Програми для всієї системи будуть доступні всім користувачам, а програми для конкретного користувача будуть доступні лише для цього користувача. Якщо встановлюємо програму або пакет для конкретного користувача, то назву прописуємо в блок: users.users.evu = { isNormalUser = true; description = "evu"; extraGroups = [ "networkmanager" "wheel" ]; packages = with pkgs; [ steamPackages.steam-runtime firefox ]; };evu – ім'я мого користувача. extraGroups – групи користувача. packages = with pkgs; []; - Усередині дужок вписуємо список програм. Якщо встановлюємо для всієї системи, то прописуємо в цей блок: environment.systemPackages = with pkgs; [ steamPackages.steam-runtime firefox ];Тепер зберігаємо те, що змінили в configuration.nix і переходимо до установки. Текстовий редактор не можна закривати. Відкриваємо термінал та запускаємо команду переконфігурації: sudo nixos-rebuild switchПісля запуску команди усі програми встановляться. І тут станеться найцікавіша особливість nix. NixOS збереже атомарний знімок усієї попередньої системи до всіх внесених виправлень. Тобто, якщо ви щось не наробили, можна перезавантажитися в той стан ОС, який був до виправлень. У меню завантаження з'явиться відповідний пункт. Налаштування, конфігурація та встановлення драйверів обладнанняНалаштування та драйвера обладнання також прописуються у файлі configuration.nix . У встановленій системі /etc/nixos/ є ще один файл hardware-configuration.nix , який вважається частиною configuration.nix , тому що він прописаний в configuration.nix у верхніх рядках як: imports = [ ./hardware-configuration.nix ];Також можна підключати інші створені вами файли конфігурації. Або все перенести в один configuration.nix . Насправді nix використовує модульну систему для своєї декларативної конфігурації, configuration.nix це теж модуль, до якого можна підключати інші модулі. Структура модуля виглядає так: { config, pkgs, ... }: { imports = [ путь к импортируемуму другому модулю, например: ./hardware-configuration.nix ]; options = { объявления опций }; config = { конфигурация опций }; }Відкриємо hardware-configuration.nix у редакторі також, як configuration.nix і розбиратимемося що там є. boot.initrd.availableKernelModules - включаються перші під час завантаження модулі ядра. boot.initrd.kernelModules - також модулі, що підключаються, але тільки які повинні бути завантажені після основних модулів ядра. Тут можна увімкнути вбудований в ядро драйвер відеокарти та модуль віртуалізації процесора. Наприклад, для включення драйвера відеокарт від AMD і віртуалізації процесора AMD, рядок буде виглядати так: boot.initrd.kernelModules = [ "amdgpu" "kvm-amd" ];Також можна керувати утилітою sysctl. Наприклад, відомий трюк, щоб швидкість при копіюванні інший накопичувач, наприклад на флешку, показувала як у Windows, а чи не якісь позамежні швидкості копіювання в ОЗУ. Рядок з параметрами виглядатиме так: boot.kernel.sysctl = { "vm.dirty_bytes" = 2097152; "vm.dirty_background_bytes" = 2097152; };Щоб система бачила файлову систему ntfs, додамо нижче рядки: boot.supportedFilesystems = [ "ntfs" ];Монтування дисківПро монтування дисків хочу попередити, ні які програми за типом gnome-disk-utility не зможуть переписати fstab. Такими утилітами можна змонтувати диск, але при наступному завантаженні системи параметри не збережуться. Щоб змонтувати диск, який ви не змонтували під час встановлення, можна додати до конфігурації таким чином. Пишемо в hardware-configuration.nix : fileSystems."/mnt/nvme0n1p1" = { device = "/dev/disk/by-uuid/5c9fc239-e0d2-45d5-a960-90869da63e99"; fsType = "ext4"; options = [ "noatime" "nodiratime" "discard" "x-gvfs-show" ]; };Тут потрібно вказати, куди монтувати, uuid – вашого диска та параметри монтування. Відкриваємо термінал. Застосовуємо реконфігурацію. sudo nixos-rebuild switchСпочатку цю команду доведеться застосовувати часто.
  23. 1. Використання клавіш.Немає нічого складного в тому, що використання клавіш дозволяє підвищити продуктивність. Ось кілька простих поєднань клавіш, які можна використовувати в Thunar, щоб зменшити використання миші: Ctrl+T Нова вкладка Ctrl+N Нове вікно F3 Режим подвійної панелі Alt + ← Назад Alt + → Вперед Alt + ↑ Відкрити батьківський каталог Ctrl+F Пошук файлів Ctrl+S Вибрати файл за шаблоном Ctrl + H Показати приховані файли Ctrl + E Деревоподібна вистава на бічній панелі Ctrl+B Перемикання назад на режим закладок (повторні натискання приховують панель) Alt + Home Перейти до домашнього каталогу Ctrl + M Приховати/показати меню Поєднання можна змінювати на свої, доступно багато не зайнятих дій 2. Відкрийте Thunar із того місця, де ви зупинилисяУ російській локалізації це налаштування називається «Відновлювати вкладки під час запуску». Щоб увімкнути цю функцію, виконайте три дії: 1) Клацніть на меню Правка та виберіть «Налаштування»; 2) Перейдіть на вкладку «Поведінка»; 3) І встановіть прапорець на «Відновлювати вкладки під час запуску» 3. Додати емблему до файлу або папкиЕмблеми можна розглядати як спеціальну наклейку для файлу або папки, які потрібно швидше дізнатися. Додати можна кілька. Чекаю, коли дозволять замість стандартних тек задавати свої значки. 4. Виділення файлу/папки акцентним кольоромЯкщо додавання піктограм недостатньо для того, щоб виділити файл/папку серед інших, можна змінити колір тла або колір шрифту. Робиться це там, у властивостях файлу/папки, в сусідній вкладці. Обидва прийоми можна комбінувати. 5. Плагіни ThunarУ порівнянні з відомими ФМ, Thunar має порівняно менше плагінів, так як все можна зробити за допомогою дій користувача, а інші можливості вбудовані. Але кілька корисних плагінів все ж таки є. Дізнатися про них більше на офіційному сайті . Для Gentoo/Calculate, наприклад, список плагінів є у сторонньому оверлеї . 6. Функція двох панелей для переміщення та копіювання файлівЯ сам ніколи не користувався двопанельним режимом, мені простіше (звичніше) відкрити друге вікно за потреби, але в 4.18 додали можливість розділити вікно для зручності копіювання/переміщення файлів. 7. Спеціальні дії в Thunar (для досвідчених користувачів)Впевнений, що досвідчені користувачі і так знають про цю чудову можливість. Найбільше з представленого списку мені сподобалася можливість «Створення команд користувача (Особливі дії)», яка розширює стандартний функціонал. Самі дії задаються термінальними командами, налаштовується асоціація для типів файлів, а ці дії можна у вигляді кнопок винести на панель меню, задавши їм значок. ~/.config/Thunar/uca.xml
  24. Щоб у Thunar відкривати папки з правами root по ПКМ, у Правка - Особливі дії... зробіть як на картинці. Утиліта gksu, яку можна побачити у деяких статтях, вже застаріла та не рекомендується. Її де-не-де ще можна зустріти, але тепер потрібно використовувати pkexec. При такому запуску Thunar він відкриватиметься з налаштуваннями для root, а не з вашими користувачами, і якщо ви зміните налаштування, то зберегти їх не вийде. Але зазвичай рекомендують мати інший інтерфейс при роботі з правами root, щоб пам'ятати про це. Такий режим роботи організований за допомогою polkit (колишня PolicyKit) — кошти для управління правами додатків, які, запущеними не від root, можуть отримувати можливість вирішувати адміністративні завдання в рамках встановлених політик. Вони описуються в html-файлах /usr/share/polkit-1/actions/ з іменами *.policy. З pkexec менеджер thunar отримує можливості адміністратора із файлу org.xfce.thunar.policy. У деяких пакетах утиліт вже є файли з політиками для них, наприклад gparted і mousepad. Якщо політики немає (звичайна справа), її можна створити. Зробимо її для нещодавно оновленого geany. Беремо org.xfce.thunar.policy за зразок і міняємо там все про thunar на все про geany. Значення <action id=""> повинно співпадати з назвою файлу політики *.policy, до якого ми її збережемо. На фото це pingvinus.geany. У Thunar Редагування - Особливі дії... пропишемо geany як на знімку. Тепер в Thunar ПКМ можна відкрити будь-який файл для редагування в geany.
  25. Ciko опублікував тема в Статті
    Що таке IceWM?Це віконний менеджер для Linux, BSD, що дуже нагадує Win9x. Установка IceWM:Якщо графічне оточення вже є: Скрізь, де я пробував його пакет називається просто: icewm Інакше: Встановлюємо xorg xorg-server та за допомогою nano (або іншого редактора) редагуємо кінець xinitrc : setxkbmap -model pc105 -layout us,ru -option grp:alt_shift_toggle exec icewm-sessionРядок setxkbmap для підтримки російського введення, а exec для запуску icewm з startx. І наприкінці home/папкаюзера/.bash_profile: exec startxЦе запускає icewm після входу. Бажано встановити xfce4-terminal . Ну, дуже просто вийшло. НалаштуванняФайли конфігурації знаходяться у системному каталозі /etc/X11/icewm або каталозі /usr/share/icewm . Меню генерується саме, але для налаштування меню можна редагувати menu у зазначених каталогах. Для звуку встановлюємо: volumeicon Для інтернету: wpa_gui Для скріншотів: flameshot Для додатків: lxappearance І пишемо в кінець /etc/X11/xinit/xinitrc : volumeicon& wpa_gui& flameshot&ВикористанняОсобливих знань для його використання не потрібно, але хочу помітити, що не ставляться шпалери (навіть через рідний icewmbg). Теми вибираються в Меню>Установки>Теми Також у меню є багато інших корисних пунктів. Є вбудована довідкова інформація.

Акаунт

Навігація

Пошук

Пошук

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.