Итак, приступим. Сам дистрибутив можно взять сайта https://ubuntu.ru/family

Закачиваем последнюю версию https://xubuntu.org/

Теперь немного о самом принципе создания своего дистрибутива из уже имеющегося. Существует такая программка Cubic, используя которую можно изменить первоначальный дистрибутив. Она распакует изначальный диск в некоторую папку и затем даст возможность «доустанавливать» необходимые Вам вещи в этот дистрибутив. Можно кстати будет даже запускать приложения в графическом режиме, для этого в основной системе нужно будет дать команду xhost +, а после завершения преобразований нужно будет дать обратную команду xhost -. Но в целом этого и не нужно. достаточно просто воспользоваться терминалом и установить необходимое или же удалить не нужное. По сути можно будет менять файлы конфигурации непосредственно в распакованных файлах используя права root из основной системы.

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

Вообщем будем все это делать в два этапа. Этап первый — в виртуальной машине для начала проделываем все что нужно и задаем внешний вид. Этап второй — в уже готовой, полностью настроенной машинке используем программу Cubic, что бы в процессе изменения образа системы, можно было скопировать файлы настроек пользователя в папку /etc/skel изменяемой системы.

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

Итак непосредственно сам скрипт:

!/bin/bash

#На всякий случай, что бы освободить систему установки, если она занята, выполним команду
sudo fuser -vki /var/lib/dpkg/lock


#Отключаем систему ошибок, что бы не выходили сообщения об ошибках системы и не предлагалось отправить это сообщение в цент Ubuntu, по сути для серверов это не нужно, там все-равно никто сидеть не будет, а сами ошибки можно будет посмотреть в логах
sudo sed -i ‘/enabled=1/s/enabled=1/enabled=0/g’ /etc/default/apport


#Настройка использования раздела Swap, теоретически можно поставить 1, но я оставляю все таки значение 10. Т.е. Swap не будет использоваться до тех пор пока остается свободно 10% оперативной памяти
sudo sed -i ‘$ a \nvm.swappiness=10\n’ /etc/sysctl.conf


# Добавляем дополнительные репозитории

# Для SystemBack
sudo add-apt-repository «deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main»
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 382003C2C8B7B4AB813E915B14E4942973C62A1B

# Для Timeshift (еще одна программа для создания резервных копий системы). Данный дистрибутив уже умеет использовать файловую систему btrfs, которая в некоторых случаях быстрее чем ext4, и к тому же умеет создавать моментальные снимки, которые умеет делать прога Timeshift
sudo apt-add-repository -y ppa:teejee2008/ppa
#Для удаления если понадобится sudo add-apt-repository —remove ppa:teejee2008/ppa

# Теперь добавим репозиторий Skype, как я и говорил данный образ должен быть универсальным, хоть я сам и не использую Skype, но некоторые им пользуются.
sudo add-apt-repository «deb https://repo.skype.com/deb stable main»
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 1F3045A5DF7587C3
#Для удаления если понадобится sudo add-apt-repository —remove «deb https://repo.skype.com/deb stable main»

# Добавим репозиторий Remmina, для подключений к удаленным рабочим столам
sudo apt-add-repository ppa:remmina-ppa-team/remmina-next -y
#Для удаления если понадобится sudo add-apt-repository —remove ppa:remmina-ppa-team/remmina-next

# Добавим репозиторий Webmin, в нем очень удобно многие настройки выполнять, открывать шары, создавать задания для cron, там много что можно делать…
sudo sed -i ‘$ a \ndeb http://download.webmin.com/download/repository sarge contrib\n’ /etc/apt/sources.list
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

# Добавим репозиторий TeamViewer, ну здесь все понятно я думаю
sudo wget https://download.teamviewer.com/download/linux/signature/TeamViewer2017.asc
sudo apt-key add TeamViewer2017.asc
sudo sh -c ‘echo «deb http://linux.teamviewer.com/deb stable main» >> /etc/apt/sources.list.d/teamviewer.list’
sudo sh -c ‘echo «deb http://linux.teamviewer.com/deb preview main» >> /etc/apt/sources.list.d/teamviewer.list’

# Добавим репозиторий VirtualBox, здесь я думаю тоже все понятно
sudo wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add —
sudo wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add —
sudo add-apt-repository «deb http://download.virtualbox.org/virtualbox/debian bionic contrib»

# Добавим репозиторий для установки Cubuc, программы для сборки своей сборки
sudo apt-add-repository ppa:cubic-wizard/release -y
sudo apt-key adv —keyserver keyserver.ubuntu.com —recv-keys 6494C6D6997C215E

#Обновляем данные о пакетах
#Можно добавить, подключить использование 32-битных библиотек, если это нужно dpkg —add-architecture i386
sudo apt-get update

# Далее пошли установки, и здесь хочу отметить, что для начала установим Systemback, так как для его установки пришлось временно подключить репозиторий от предыдущей версии Ubuntu 16.04, что бы потом не «затянуть старые пакеты» установим сначало его, затем удалим старые репозитории и продолжим установку нашей системы

# Установить Systemback
sudo apt install systemback
# Удаляем репозиторий от SystemBack
sudo add-apt-repository -r «deb http://ppa.launchpad.net/nemh/systemback/ubuntu xenial main»

# Обновление списка всех пакетов
sudo apt-get update

# Установка aptitude, с ней легче будет обновлять остальные пакеты
sudo apt-get install aptitude -y
sudo aptitude update
sudo aptitude safe-upgrade

# Все, систему полностью обновили, продолжим установку нужных нам пакетов

# Установка Cubic
sudo apt install cubic -y

# Установка пакета установщика, в принципе это не обязательно, но на всякий случай, что бы он точно был
sudo apt-get install ubiquity-frontend-gtk -y

# Добавляем make, не знаю почему, но в изначальном дистрибутиве его не было, а для установки пакетов в ручную он нужен, так что ставим
sudo apt-get install make -y

# Удаляем глючный netcat, он не глючный, но он меняет последовательность заданных портов, он их выстраивает в порядке возрастания, а мне это не нужно, дело в том, что для доступа по RDP или SSH я использую систему «стуков», т.е. что бы открылся порт доступа к RDP, нужно сначала «постучать» по определенным портам за поределенное время и тогда на определенное время для определенного ip адреса окрывается определенный порт. Вообщем нужно что бы соблюдалась последовательность стука. Так что удаляем «родной»
sudo apt-get remove netcat-openbsd netcat netcat-traditional -y

# Теперь устанавливаем нормальный, правильный netcat
sudo apt-get install netcat -y

# Подключение мультимедия
sudo apt install ubuntu-restricted-extras -y
sudo apt install browser-plugin-freshplayer-pepperflash -y

# Все что нужно для работы 1С предприятия
#Настроим поддержку шрифтов
sudo apt install imagemagick unixodbc libgsf-bin ttf-mscorefonts-installer -y

# Установка g++ для ключа 1С
sudo apt install build-essential

# Установка дополнительных архиваторов, что бы все было
sudo apt-get install p7zip-rar p7zip-full rar unrar zip unzip unace arj cabextract -y

#Установка Skype
sudo apt-get install skypeforlinux -y

# Установка TeamViewer
sudo dpkg -i soft/teamviewer.deb
sudo apt install teamviewer -y

# Установка графического редактора gimp
sudo apt-get install gimp -y

# Установка графического редактора inkscape
sudo apt-get install inkscape -y

# Установить OpenSSH
sudo apt-get install ssh -y
# Не гоже работать на стандартном пору, изменим порт работы сервера ssh с 22, скажем на 4318
sudo sed -i ‘/Port 22/s/Port 22/Port 4318/g’ /etc/ssh/sshd_config

# Установить X2Go, еще одна программа для удаленного доступа, использует подключение по SSH
sudo apt-get install x2goserver x2goserver-xsession -y
sudo apt-get install x2goclient -y

# Установить Remmina и все дополнения
sudo apt install remmina remmina-plugin-rdp remmina-plugin-secret remmina-plugin-spice -y

# Установка Gparted, программы разбивки дисков
sudo apt-get install gparted -y

# Установка Preload, системы ускоряющей процесс загрузки системы
sudo apt-get install preload -y

# Установка samba
sudo apt-get install samba samba-common system-config-samba -y
# немного подправим конфиг
# первое — это что бы можно было запускать с шар exe файлы
sudo sed -i 25i\ ‘\nacl allow execute always = True\n’ /etc/samba/smb.conf
# а это что бы новая версия могла подключаться к старым шарам на Windows
sudo sed -i 34i\ ‘\nclient max protocol = NT1\n’ /etc/samba/smb.conf


# Установка MC, это файловый менеджер для текстового режима, если подключимся по SSH, что бы проще было работать с файлами
sudo apt-get install mc -y

# Установка git
sudo apt-get install git -y

# Установка Webmin
sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libdigest-md5-perl -y
sudo apt-get install webmin -y

# Установка NUT управление UPS
sudo apt-get install nut-server -y
sudo apt-get install nut-client -y
sudo apt-get install nut-monitor -y


# Установка RDP
# Для начала установим окружение Mate
sudo apt-get install ubuntu-mate-desktop -y
#Теперь создадим в каталоге пользователя файл .xsession, в котором укажем системе xrdp какую среду использовать
echo «env -u SESSION_MANAGER -u DBUS_SESSION_BUS_ADDRESS mate-session»>>~/.xsession

# Так же нужно установить xorg сервер, что бы было к чему подключаться
sudo apt-get install xserver-xorg-core -y
sudo apt-get install xserver-xorg-video-all xserver-xorg xserver-xorg-video-intel -y
# Теперь непосредственно установка xrdp
sudo apt install xrdp xorgxrdp -y
# Поменяем стандартный порт работы RDP, скажем на 4319
sudo sed -i ‘/port=3389/s/port=3389/port=4319/g’ /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp

# Установка VirtualBox
sudo apt install virtualbox-6.0 -y

# Установка системного монитора
sudo apt-get install gnome-system-monitor -y

# Установка HPLip, это нужно если у Вас есть принеты от HP
sudo apt-get install hplip-gui -y

# Установить программу диски, мне она нравится что бы просматривать состояние дисков, а так же при монтировании дисков в определенную папку автоматом
sudo apt-get install gnome-disk-utility -y

# Установить libreoffice impress, почему то в оригинальный дистрибутив он не входит, хоть я им и не пользуюсь, но вот моя дочка его использует для рефератов
sudo apt-get install libreoffice-impress -y

# Установка программы резервного копирования timeshift
sudo apt-get install timeshift -y

# Synaptic, программы управления пакетами, удобна например для удаления старых ядер
sudo apt install synaptic -y

# Установка программы Gdebi, как то я к непу привык для установки deb пакетов, если понадобится, меньше косяков…
sudo apt install gdebi -y

# В самом начале мы добавили репозиторий Skype, но в процессе установки сам Skype зачем-то еще раз добавляет его же, т.е. получается дублирование, удаляем лишний репозиторий skype
sudo add-apt-repository —remove «deb https://repo.skype.com/deb stable main»

# Добавляем аплеты для панели, загрузка системы и датчики температуры для xfce4
sudo apt-get install xfce4-goodies -y
sudo apt-get install indicator-multiload -y

# теперь дадим возможность нашей системе «раздавать интернет», почему-то изначально эта опция закоментирована. Нужно в файле /etc/sysctl.conf раскоментировать строку net.ipv4.ip_forward=1, ну или добавить в конец файла
sudo sed -i ‘/#net.ipv4.ip_forward=1/s/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g’ /etc/sysctl.conf

# В очередной раз обновляем все пакеты на всякий случай
sudo aptitude update
sudo aptitude safe-upgrade
sudo apt-get update
sudo apt-get upgrade

# Очистка после установки
sudo apt-get autoremove
sudo apt-get autoclean
sudo apt-get install -f

sudo aptitude clean
sudo apt-get clean

Ну вот, теперь в системе есть все, что нужно для жизни. Она стала пригодна и для десктопа.

Не забываем:

Открываем терминал, и создаем папку xorg.conf.d:

sudo mkdir /etc/X11/xorg.conf.d

И там создаем текстовый файл 20-intel.conf:

sudo mousepad /etc/X11/xorg.conf.d/20-intel.conf

Добавляем туда следующее:

Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "SNA"
Option "TearFree" "true"
EndSection

Есть еще два момента, но это придется сделать вручную. Первое — установка oracle java 8. И второе — установка программы freefileSync. К сожалению по другому нормально не получается. Java нужна мне для работы с Казахстанскими сайтами правительства, где я могу например следить за наличием штрафов, за получением адресной справки и т.д.

Пункт 1 — установка oracle java 8. Взято с сайта https://help.ubuntu.ru/wiki/java

Для начала нужно скачать с сайта java архив (нужно пройти регистрацию), затем положить рядом с архивом скрипт, текст которого расположен ниже. Ну и запустить скрипт, который сам все сделает. (Единственное все это делалось для версии 1.8.0_221, если изменится версия то поменять соответственно в скрипте).

!/bin/bash
tar -xvf jdk-8*
sudo mkdir -p /usr/lib/jvm
sudo mv ./jdk1.8.0_221 /usr/lib/jvm/
sudo update-alternatives —install «/usr/bin/java» «java» «/usr/lib/jvm/jdk1.8.0_221/bin/java» 1
sudo update-alternatives —install «/usr/bin/javac» «javac» «/usr/lib/jvm/jdk1.8.0_221/bin/javac» 1
sudo update-alternatives —install «/usr/bin/javaws» «javaws» «/usr/lib/jvm/jdk1.8.0_221/bin/javaws» 1
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws
sudo chown -R root:root /usr/lib/jvm/jdk1.8.0_221
sudo update-alternatives —config java
sudo update-alternatives —config javac
sudo update-alternatives —config javaws

Пункт 2 — установка FreeFileSync. Для начала закачиваем архив с сайта. Зтем создаем скрипт для установке там же:

!/bin/bash
tar xvzf FreeFileSync*.tar.gz -C /tmp/
sudo mv /tmp/FreeFileSync* /opt/FreeFileSync
sudo chown -R root:root /opt/FreeFileSync
sudo ln -s /opt/FreeFileSync/FreeFileSync /usr/local/bin/FreeFileSyn

После этого нужно будет создать значек запуска для исполняемых файлов FreeFileSync и RealTimeSynk, и положить их по пути /usr/share/applications, тогда они будут находиться через меню программ.

Ну вот теперь вроде бы все…. Система наконец то готова. Осталось придать ей внешний вид. Но сдесь все в Вашей власти. У меня получился вот такой внешний вид для XFC4

и для Mate:

Нижняя панелька XFCE4 при необходимости скрывается (ителектуальный метод). Так же включен режим при распахивании окна убрать все декорации.