Установка и настройка ОС Whonix часть 3
https://t.me/new_infonetДелаем работу более комфортабельной
Существует некоторая проблема при запуске графических приложений из под root (или через sudo), из терминала. Будет ошибка, что-то вроде Cannot open DISPLAY :0 или подобная. (GTK WARNING) Почему это нас касается? Потому что такие графические текстовые редакторы, как kwrite или mousepad не будут открываться через sudo, соответственно вы не сможете отредактировать файл, к которому у вас не прав на запись. Я нашел два следующих решения проблемы.
1) С использованием gksu/gksudo.
Здесь все просто, мы будем использовать специальну утилиту gksu - это графический фронтенд для su и sudo. Ставим пакет gksu
sudo apt-get install gksu
Для того чтобы открыть какой-либо приложение от пользователя root из терминала, нужно из под обычного пользователя user в терминале ввести
gksudo <название приложения> <аргументы приложения>
И ввести пароль от пользователя user
gksu <название приложения> <аргументы приложения>
И ввести пароль от пользователя root
Вводим пароль от user. Откроет файл в редакторе kwrite.
gksudo kwrite /boot/grub/grub.cfg
Вводим пароль от user. Откроет файл в редакторе mousepad (если стоит).
gksudo mousepad /boot/grub/grub.cfg
Вводим пароль от root. Откроет файл в редакторе kwrite.
gksu kwrite /boot/grub/grub.cfg
Вводим пароль от root. Откроет файл в редакторе mousepad (если стоит).
gksu mousepad /boot/grub/grub.cfg
Вводим пароль от user. Откроет файловый менеджер Thunar (если стоит).
gksudo thunar
Вводим пароль от user. Откроет файловый менеджер Dolphin.
gksudo dolphin
Вводим пароль от root. Откроет файловый менеджер Thunar (если стоит).
gksu thunar
Вводим пароль от root. Откроет файловый менеджер Dolphin.
gksu dolphin
При этом, после замены DE на xfce4, некоторые приложения, которые остались от KDE, открываются таким способом некорректно.
2) С копированием .Xauthority в домашнюю папку root (/root). xhost +.
Для того чтобы наши графические приложения запускались из под root, из терминала и при этом не было ошибок, проделываем следующие действия. Входим в работу из под root
sudo -i
При необходимости вводим пароль. Далее, копируем файл ~/.Xauthority в домашнюю директорию пользователя root
cp /home/user/.Xauthority /root/
Выходим из под root, вводим
exit
Работает ровно на текущую сессию. В след. сессии придется проделывать тоже самое. Поэтому учитесь редактировать файлы в консольных редакторах. Все, ошибка больше не будет выскакивать. Но если по какой-либо причине это продолжает происходить, то каждую сессию вводим в терминале (из под пользователя user)
xhost +
Данная команда должна исправить ошибку.
Работа с nano
Лучше работайте с этим редактором.
Вкратце расскажу основные горячие клавиши при работе с консольным редактором nano. Открываем файл в nano.
nano <путь до файла>
Ctrl+O - сохранить. Записать изменения в файл. Жмем Ctrl+O, потом Enter.
Ctrl+X - выйти из nano.
Ctrl+K - вырезать целую строку. Будет скопировано в буфер обмена.
Ctrl+U - вставить вырезанную строку, которая находится в буфере обмена.
Ctrl+W - поиск по файлу. Поиск в редакторе, вводим что нужно -> жмем интер.
Если хотим скопировать часть текста, в самом редакторе выделяем мышкой нужный текст и жмем комбинацию Ctrl+Shift+C. Это скопировать. Для того того чтобы вставить текст, который сейчас находится в буфере обмена, жмем комбинацию Ctrl+Shift+V.
Не забывайте вводить
sudo nano
Если редактируете файл, к которому у вас нет прав на запись.
Ускоряем запуск виртуалок
Покопавшись в некоторых конфигах, можно ускорить запуск виртуалок секунд на 12 или даже больше. Данную операцию можно проделать на обеих виртуалках. Сначала отключим или уменьшим таймаут GRUB. Для редактирования файлов я буду использовать nano, вы можете использовать kwrite. Редактируем файл /etc/default/grub через nano
sudo nano /etc/default/grub
В самом верху ищем строчку GRUB_TIMEOUT и меняем значение "5" на что-то поменьше, например "2" или "1". Мне таймаут не нужен, я его вовсе отключу и поставлю "0". Отредактировать файл также можно через графический текстовый редактор, по умолчанию в Whonix стоит kwrite. (смотрите выше про запуск граф. приложений и решение проблемы с ошибкой).
sudo kwrite /etc/default/grub
Меняем значение -> сохраняем через Ctrl+S -> закрываем. Переконфигурируем GRUB
sudo grub-mkconfig -o /boot/grub/grub.cfg
Убираем 10 секундную задержку. Данную операцию можно проделать на обеих виртуалках. Еще способ ускорить запуск - убрать или уменьшить 10 секундную задержку при загрузке виртуалок. При запуске Whonix, существует 10 секндная задержка для того, чтобы вы могли успеть нажать Ctrl+C, тем самым дать Хуниксу команду автоматически не запускать Login Manager (по-умолчанию kdm). Нужно отредактировать файл /etc/rads.d/30_default.conf, но сначала сделаем backup
sudo cp /etc/rads.d/30_default.conf /etc/rads.d/30_default.conf.bak
Теперь редактируем
sudo nano /etc/rads.d/30_default.conf
Ищем строчку rads_wait_seconds -> меняем значение на поменьше, я поставлю "2" -> сохраняем -> выходим. Если вовсе хотите отключить эту задержку, то чуть выше есть строчка rads_wait со значением "1", меняем на "0", а строчку rads_wait_seconds закоментируем (в начале строки введите символ '#') -> сохраняем -> выходим
Создаем общие папки (shared folders)
Допустим произошла ситуация, и нам нужно перекинуть файл/архив/и т. д. с хостовой машины, на нашу Workstation, или наоборот, с Workstation на хостовую машину. В данном случае можно воспользоваться файлообменниками, залить файл/архив на файлообменник, поставить пароль и скачать по ссылке на ту машину, на которую нам нужно. А после скачивания удалить файл. Или если файл с текстовым содержимым, то можно само содержимое залить на privnote.com, поставить пароль на скачивание и по ссылке перейти к содержимому.
Но можно воспользоваться так называемыми общими папками. Кому не понятно, схема простая. Существует папка на хост. машине и на Workstation, и если туда поместить какой-либо файл, то содержимое этих папок будет общим у обеих машин. Общие папки могут быть созданы на обеих виртуалках.
На хост машине создаем любую папку, в любом месте. Далее, если у вас включен Workstation - вырубаем его
sudo poweroff
Идем в виртуалбокс, открываем настройки Whonix-Workstation. Переходим во вкладку "Shared Foldes" -> жмем на иконку папочки с плюсом -> в первом поле указываем путь до созданной папки на хост. машине -> во второй главе обязательно вводим имя "shared" -> ставим галочку на Auto-Mount (Автомонтирование) -> остальные галки оставляем пустыми -> применяем настройки, жмем Ок -> включаем Whonix-Workstation.

Общая папка на самом Workstation находится по пути /mnt/shared/. И теперь, если мы хотим получить файл с хост. машины, то просто помещаем его в папку, которую создавали и содержимое отобразится на Workstation в папке /mnt/shared/
После того как все перекинули, рекомендую отключить общие папки. В настройках Workstation, во вкладке "Shared Folders" -> выбираете вашу папку -> жмете на иконку папки с минусом -> применяете настройки.
Если создавать общую папку на Whonix-Gateway и выбрать ту же самую папку, которая является общей для хост машины и Workstation, то это будет работать и тогда у вас будет общая папка для трех машин.
Разрешаем копировать/вставлять с хост. машины на Workstation и наоборот
Сразу предупреждаю, что эту фичу лучше не включать из соображений безопасности. Но уж если очень приспичило, то: в VirtualBox открываем настройки Whonix-Workstation, в первой вкладке General (на рус. Общее) -> переходим в подвкладку Advanced -> далее первая кновпка с раскрывающимся списком (англ. "Shared Clipboard") -> выбираем последний пункт (англ. "Bidirectional"). Все, теперь можете копировать на хост. машине и вставлять на WS и наоборот. Повторюсь еще раз, лучше эту фичу не юзать, из соображений безопасности.

Скачиваем и ставим шрифты
По умолчанию в Debian дерьмовое отображение шрифтов. Ставим шрифт Droid Sans
sudo apt-get install fonts-droid
Открываем System Settings -> Application Appearance -> вкладка Fonts. Меняем "DejaVu Sans" во всех строчках на "Droid Sans". Можно еще "Поиграться со шрифтами", но Droid Sans выглядит вполне прилично. В этой же вкладке в "Use anti-alising" ставим значение на "Enabled" -> Apply.
Еще можем поставить хорошую группу шрифтов Ubuntu Font Family. В репозиториях их нет, поэтому ставим вручную. Cоздаем временную папочку для шрифтов и переходим туда
mkdir ~/fonts; cd ~/fonts/
Скачиваем zip архив со шрифтами в текущую папку
wget -O ubuntu-font-family.zip http://font.ubuntu.com/download/ubuntu-font-family-0.83.zip
Для того чтобы вставить текст в терминале, вместо привычных ctrl+v используем ctrl+shift+v, скопировать из терминала аналогично. Шрифты можно скачать и через браузер, по ссылке: Ubuntu Font Family. Находясь в папке ~/fonts/, выполняем
unzip -d ubuntu-fonts ubuntu-font-family.zip
Открываем файловый менеджер, в нашем случае это Dolphin, идем в папку, куда сохранили zip архив со шрифтами. Кликаем дважды -> разархивируем в эту же папку -> идем в разархивированную папку. Нас интересуют все файлы с расширением ".ttf". Кликаем дважды на файл -> Открывается Font Manager -> жмем Insall -> Personal -> закрываем -> делаем все тоже самое с остальными файлами ".ttf". Но можно установить и проще. Открываем терминал, идем в папку со скаченными шрифтами
cd ~/fonts/ubuntu-fonts
Создаем папку для шрифтов ubuntu
mkdir -p ~/.fonts/ubuntu
Копируем все туда (вы должны находиться в папке со шрифтами, файлы с расширением ".ttf")
cp *.ttf ~/.fonts/ubuntu
Выполняем в консоли
fc-cache
Теперь у нас стоит Ubuntu Font Family. Точно также идем в настройки шрифтов, и можем поменять шрифты на Ubuntu. Перезагружаем
sudo reboot
Для терминала я использую шрифт Hack, но вы можете использовать Ubuntu Mono. Ставим Hack. Идем в нашу папочку fonts
cd ~/fonts/
Можно скачать через браузер с сайта Шрифт Hack скачиваем шрифт
wget -O ~/fonts/hack-ttf.zip https://github.com/chrissimpkins/Hack/releases/download/v2.020/Hack-v2_020-ttf.zip
Разархивируем
unzip -d hackfont hack-ttf.zip
Ставим шрифт
mkdir -p ~/.fonts/hack; cp ~/fonts/hackfont/*.ttf ~/.fonts/hack/ fc-cache
Теперь стоит шрифт Hack
Улучшаем рендеринг шрифтов - ставим Infinality
Скачиваем deb-пакет Infinality в домашнюю папку
wget -O ~/infinality.deb https://launchpad.net/~no1wantdthisname/+archive/ubuntu/ppa/+files/fontconfig-infinality_20130104-0ubuntu0ppa1_all.deb
Устанавливаем
sudo dpkg -i ~/infinality.deb
Альтернативная установка Infinality, с добавлением репозиториев (если не получилось установить способом выше)
Как только пакет установился, выполняем
sudo bash /etc/fonts/infinality/infctl.sh setstyle
Выбираем вариант "3". После этого редактируем файл /etc/profile.d/infinality-settings.sh
sudo nano /etc/profile.d/infinality-settings.sh
Ищем строку "USE_STYLE=". Вместо значения "DEFAULT", можно поставить одно из значений, перечисленных чуть выше в файле. Я ставлю значение "UBUNTU". Получилось USE_STYLE="UBUNTU" -> сохраняю -> закрываю. Перезагружаем
sudo reboot
Меняем DE на xfce4 (не обязательно)
Вовсе не обязательно менять одну DE на другую. Я делаю это лично для себя, потому что с xfce4 мне комфортнее работать. Так что можете пропустить этот раздел. Не нравится KDE4? Давайте поменяем на xfce4. Под линукс существует множество DE, такие как KDE4/KDE5, GNOME3, xfce4, Unity, MATE, в том числе и тайловые - i3, bspwm, awesome и так далее. По сравнению с текущим KDE4 - xfce4 более легковесный, более быстрый, жрет меньше RAM. Именно поэтому я буду ставить его. Устанавливаем xfce4
sudo apt-get install xfce4 xfce4-goodies
Пока ставится - читайте. На момент написания статьи, по умолчанию ставится версия xfce 4.10, хотя последняя xfce 4.12. Это происходит из-за того, что используются репозитории Debian Stable. Пытался билдить xfce4 вручную, скачивая с оф. сайта - в итоге что-то ломается. Бросил эту затею. В итоге решил остаться на xfce4.10 Немножко поясню за Testing репозитории. Я менял репозитории с Stable на Testing -> делал apt-get upgrade/dist-upgrade, что-то шло не так, все ломалось кароче. Несколько раз пытался. Не получается. Я сделал вывод, что с Stable на Testing Debian репозитории так просто перейти на Whonix не получится.
Небольшая оговорочка: после установки xfce4 не удаляйте пакеты kde/kdm/plasma. Вообще старайтесь ничего не удаляйть из того, что не ставили сами. Почему? Потому что, во-первых whonixcheck вам потом постоянно орать будет, что "не хватает каких-то пакетов" (хотя этот Warning можно отключить), а во-вторых - хрен знает к чему это может привести. Просто не трогаем ничего из пакетов, которые шли при стандартной установке. Установка некоторых пакетов может также заменить некоторые Хуниксовские, поэтому из-за этого тоже может орать. Делаем все аккуратненько. Вообще, сносить Workstation и ставить по новой - может быть обыкновенным делом. Поставили xfce4? Перезагружаемся
sudo reboot
xfce4 должен загрузиться автоматически. При первом запуске вы увидите всплывающее окно, жмем s. Для того чтобы настроить панель жмем по ней ПКМ -> Panel Preferences. Тут настраиваем. После того, как вы поставили xfce4, некоторые стандартные приложения поменялись. Вместо текстового редактора kwrite, теперь по-умолчанию mousepad. Вместо файлового менеджера Dolphin, теперь Thunar. При этом старые приложения никуда не делись, вы также можете использовать и их.
Решаем проблему "Untrusted application launcher" на xfce4
После установки xfce4, у вас скорее всего будет проблема с запуском существующих приложений с ярлыков на раб. столе. При нажатии на ярлыке, всплывет окно "Untrusted application launcher", с кнопкой , при нажатию на которую, приложение все же запускается.

Происходит это потому, что существующие ярлыки (которые остались от KDE4) на раб. столе являются симлинками на другие ярлыки, которые находятся в папке /usr/share/applications/, у которых нет права на выполнение. Нужно дать права на запуск. Последовательно выполняем ниже приведенные команды
sudo chmod +x $(ls ~/Desktop/ | grep ".desktop" | sed -e 's/^/\/usr\/share\/applications\//' | tr '\n' ' ')
konsole и kgpg находятся в другой папке, поэтому вводим отдельно
sudo chmod +x /usr/share/applications/kde4/{kgpg.desktop,konsole.desktop}
Когда вы создаете новый ярлык, при первом запуске ярлыка это окно все равно будет появляться, но там будет кнопка, жмем ее и все будет четко.
Кастомизация
Этот раздел писался и работает только если у вас стоит DE xfce4, вместо KDE4 (см. выше установку xfce4). Если у вас KDE4, то забейте на этот раздел. В самом конце все будет выглядеть вот так

Рекомендую поставить "WhiskerMenu" - плагин для панели. И заменить им стандартный "Applications Menu".
sudo apt-get install xfce4-whiskermenu-plugin
Заменяем: Panel Preferences -> Items -> жмем "+" добавляем Whisker Menu -> двигаем его стрелочками -> убираем Applications Menu по нажатию на "-". Поставим некоторые пакеты-зависимости
sudo apt-get install gtk2-engines-murrine gtk+-2.0 libgtk-3-dev gtk2-engines-xfce
Ставим тему Arc-Theme. Arc-Theme представлена в трех вариантах: Arc (светлая), Arc-Darker и Arc-Dark. Лично я использую светлую Arc. Репозиторий разработчиков темы на github
Создадим временную папочку для наших пакетов-тем
mkdir -p ~/themes
Ставим зависимости
sudo apt-get install gnome-themes-standard
Скачиваем deb-пакет
wget -O ~/themes/arc-theme.deb http://download.opensuse.org/repositories/home:/Horst3180/Debian_8.0/all/arc-theme_1480088096.9047b20_all.deb
Устанавливаем
sudo dpkg -i ~/themes/arc-theme.deb
Теперь стоит тема Arc. Применить ее можно в настройках: Setings Manager -> Appearance -> во вкладке Style выбираем Arc/Arc-Dark/Arc-Darker. Далее, Setings Manager -> Window Manager -> во вкладке Style выбираем Arc/Arc-Dark/Arc-Darker.
Ставим иконки paper. Репозиторий разработчиков иконок на github: Paper Icons
Скачиваем deb-пакет в папку ~/themes/
wget -O ~/themes/paper-src.tar.gz https://github.com/snwh/paper-icon-theme/archive/v1.3.4.tar.gz
Разархивируем
cd ~/themes/ mkdir paper-icon && tar -zxf paper-src.tar.gz -C paper-icon/ --strip-components 1
Собираем
cd paper-icon/ sudo bash autogen.sh sudo make sudo make install
Иконки paper установлены. Применяем: Setings Manager -> Appearance -> переходим на вкладку Icons -> выбираем Paper.
Подписывайтесь https://t.me/new_infonet