Черный экран и тормоза при старте UBUNTU 24.04 на VMWare

Для решения этой проблемы нужно обновить графические драйвера из репозитория oibaf

1. Отключить 3D ускорение в настройках виртуальной машины

2. Добавить PPA репозиторий графический драйверов:

sudo add-apt-repository ppa:oibaf/graphics-drivers

3. Выполнить обновление

sudo apt update && sudo apt upgrade

4. Включить 3D ускорение

QT — SFML — Linux

SFML — простая, быстрая, кросс-платформенная и объектно ориенитированная мультимедийная библиотека. Предоставляет доступ к созданию оконных интерфейсов, рисованию графики, управлению звуком и сетю. Написана на C++ и имеет привязку к различным языкам, таким как: C, .Net, Ruby, Python.

Установка SFML в Ubuntu

sudo apt install libsfml-dev

Компиляция SFML программы

Текст программы main.cpp

#include <SFML/Graphics.hpp>

int main()
{
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}

Компиляция и запуск

g++ main.cpp -o main -lsfml-graphics -lsfml-window -lsfml-system
./main

Подключение библиотеки в QT при использовании сборщика qmake

Для подключение библиотеки sfml нужно добавить в .pro файл строчки CONFIG += link_pkgconfig и PKGCONFIG += sfml-all

TEMPLATE = app
CONFIG += console c++11 link_pkgconfig
CONFIG -= app_bundle
CONFIG -= qt

PKGCONFIG += sfml-all

SOURCES += \
        main.cpp

nmcli — Установка статического адреса

# Установка стаического адреса, лишние параметры можно опустить
nmcli dev mod ens33 ipv4.address "x.x.x.x/24" ipv4.gateway "x.x.x.x" ipv4.dns "x.x.x.x" ipv4.dns-search"x.x.x.x" ipv4.method "manual"

# Получение по dhcp
nmcli dev mod ens33 ipv4.address "" ipv4.gateway "" ipv4.dns "" ipv4.dns-search "" ipv4.method "auto"

NAT

Включаем форвардинг:

sudo nano /etc/sysctl.conf

Раскомментируем строку:

net.ipv4.ip_forward=1

Применяем настройки форвардинга:

sudo sysctl -p

/etc/default/ufw

DEFAULT_FORWARD_POLICY="ACCEPT"

В /etc/ufw/before.rules вставляем:

# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic from eth1 through eth0.
-A POSTROUTING -o enp3s0 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT
sudo ufw disable && sudo ufw enable

DHCP — сервер

Установка сервера:

sudo apt install isc-dhcp-server

Конфигурация:

option domain-name "domain.name";
option domain-name-servers 192.168.1.1;

default-lease-time 600;
max-lease-time 7200;

ddns-update-style none;

authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.10 192.168.1.254;
  option domain-name-servers 192.168.1.1;
  option domain-name "domain.name";
  option routers 192.168.1.1;
  option broadcast-address 192.168.1.255;
  default-lease-time 604800;
  max-lease-time 604800;

  # Чтобы помнить, что есть возможность загружаться через ПХЕ
  #filename "images/ubuntu/16.04/x64/pxelinux.0";
}

# Статический адрес
host machine-name {
  hardware ethernet ff:ff:ff:ff:ff:ff;
  fixed-address 192.168.1.4;
}

В файле /etc/default/isc-dhcp-server назначаем интерфейс для dhcp сервера:

INTERFACESv4="enp2s0"
INTERFACESv6="enp2s0"

Перезагружаем сервер:

 sudo systemctl restart isc-dhcp-server

Создание группы в Linux — groupadd

Создать группу в линукс можно через консольную команду

groupadd [имя_группы]

Команда для создания нового пользователя:

useradd user_name

Задание пароля пользователю:

sudo passwd user_name

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

usermod -aG group_name user_name