LINUX.ORG.RU

Избранные сообщения xDShot

Экспериментирую со старым планшетом

 , , , ,

Как-то в один из выходных дней разгребал у себя барахло и наткнулся на китайское чудо света – Prestigio Visconte Quad 3GK (характеристики на фото…).

Сиё чудо досталось мне с предустановленной win10, которая с течением времени (наверно байты на распаянной флешке засохли) перестала запускаться. С удивлением обнаружил, что данная железка оборудована uefi bios и после небольшого гуглинга оказалось, что это чудо способно без проблем загружать и линукс.

Не долго думая, решил готовить загрузочную флешку с Debian, но загрузиться с неё, к сожалению, не получилось. «Не беда», подумал я и подготовил загрузочную флешку с Arch Linux. Воткнул флешку через OTG, выбрал в меню биоса нужный efi-файл, с которого нужно грузиться и вуаля, установочный образ арча в работе.
Процесс установки ничем не отличается от десктопного варианта, разве что пришлось загрузчик брать systemd-boot.
После некоторого шаманства мне удалось загрузить Арч, дальше дело дошло до настройки пользователей, сети и так далее…

Но зачем планшет, если его нельзя тыкать пальцем? Правильно, поэтому ставлю Gnome3 – наиболее подходящее DE под тыкательные дела. Ставим, запускаем GDM и…обнаруживаем, что не работает тачскрин :( Сначала полез в DMESG, где вываливается ошибка при загрузке firmware, которое отвечает за тачскрин… По итогу, на 4pda нашёлся рабочий firmware, который позволил заработать пальцетыкалке.

Пришло время ковыряний… Как и ожидалось, мне стало грустно – некрожелезо планшета хоть и тянет Арч + Гном3, но комфортно пользоваться этим добром невозможно. Один гигабайт RAM сразу забивается, остальное уходит в SWAP. Микрофризы, периодические зависания не добавляют радости. Видео воспроизводится, даже 1080p, но через пару минут планшет может зависнуть. Камера и блютуз не заработали, яркость экрана не настраивается, в гибернацию железка уходит, но не просыпается. Гироскоп отрабатывает некорректно. В остальном - всё как на десктопе.

Если писать в целом – это работает, но приятного опыта взаимодействия не принесёт. Явно не хватает производительности. Нужен большой напильник и более мощная железка.

Сейчас думаю, что делать с этим барахлом. У меня есть три варианта:

  1. Оставить и сделать из этого чуда планшет для показа погоды/воспроизвдения видео с камер наблюдения;
  2. Продать дёшево на авито;
  3. Подарить врагу :)

А вы что думаете на этот счёт?

P.S. Остальные дистры можно на этом планшете запустить благодаря замечательному решению в этой git-репе.

santic
()

lua и боль производительности

 

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

function mylen(s,n)
    local count
    for i = 1, n do
        count = #s
    end
    return count
end

function u8( s )
    local wstring = {}
    local char = 0
    for i = 1, #s do
        local byte = s:byte(i)
        if byte < 128 then
	       char = char + 1
           wstring[char] = string.char(byte)
        elseif byte >= 194 and byte <= 244 then
            char = char + 1
            if byte <= 223 then
                wstring[char] = string.char(byte)..string.char(s:byte(i+1))
                i = i + 1
            elseif byte <= 239 then
                wstring[char] = string.char(byte)..string.char(s:byte(i+1))..string.char(s:byte(i+2))
                i = i + 2
            else
                wstring[char] = string.char(byte)..string.char(s:byte(i+1))..string.char(s:byte(i+2))..string.char(s:byte(i+3))
                i = i + 3
            end
        end
    end
    return wstring
end

function benchm(s,n)
    local wstring = {}
    for i = 1, n do
        wstring = u8( s )
    end
    return wstring
end

local text = "Привет ♥ мир!"
local wstring = u8(text)

local time = os.clock()
print(mylen(wstring, 100000)) --- <-- TABLE a hundred thousand iterations (omg!)
print("Прошло: " .. os.clock()-time) --- <-- as fast as native #s, since it IS native)

time = os.clock()
benchm(text, 100000) --- <-- Instantination consumes time, but once, need optimization
print("Прошло: " .. os.clock()-time)

print(text)
for i = 2, #wstring do --- <--- wow, ORLY? O_o
    print( wstring[i] ) --- <--- native unicode bychar
end
./test.lua 
13
Прошло: 0.002469
Прошло: 0.41051
Привет ♥ мир!
р
и
в
е
т
 
♥
 
м
и
р
!
Anoxemian
()

LO Calc. Не удается пометить данные как число

 ,

Есть файл *.xlsx с данными по телефонии от стороннего сервиса. Необходимо произвести расчёт по определенным критериям. Одна из колонок с данными содержит цифровые значения, но перед данными стоит апостроф «’», который никак не убирается, так и остаётся, например, ’1,67.

Гуглил, ничего из найденных мною методов не помогает. В других версиях LO апострофа нет, но так же расчёт не производится как при текстовом виде ячейки. Помогите, пожалуйста, разобраться, в чём проблема и как её решить.
LibreOffice Version: 24.8.4.2 (X86_64)

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

StellzZz
()

ffmpeg запись экрана - хочу чтобы на экране была красная рамочка - как?

 

Есть вот такой скрипт записи экрана.

  1. Подождать 2 сек пока переключимся из консоли в нужное окно
  2. Записывать 59 сек.
  3. Проиграть торжественый звук окончания.
sleep 2;
TIME="00:00:58"
ffmpeg \
  -f alsa -i default -ac 2 \
  -f x11grab -video_size 1080x1920 -framerate 30 -i :0.0+1300,400 -vf format=yuv420p -t ${TIME}  /tmp/output.mp4 -y
ffplay /home/sobaka/smooth-completed-notify-starting-alert-274739.mp3

Всё зашибись, но хочу видеть на экране рамочку вокруг записываемого места, чтобы точно видеть во время записи, что попадёт в видос, а что будет за границей. Пасиба.

О Т В Е Т

Вот это надо запихать в ПРАВИЛЬНОЕ место командной строки, где-то после -f x11grab, точно не помню:

-show_region 1
lesopilorama
()

Speech to text

 

Кто имеет опыт работы с новыми средствами для распознавания речи? Что порекомендуете на десктопную машину без CUDA/OpenCL? Свободное или бесплатное. Английский, русский, французский, украинский, испанский. Скорость распознавания хотя бы 1:1.

P.S. Превращать в текст звуковые файлы.

Ответ: Vosk вполне устраивает.

question4
()

Chimera Linux перешёл в статус беты

 , chimera,

Группа Linux General

Привет, ЛОР!

Вышла бета-версия достаточно интересного дистрибутива Chimera Linux. От других дистрибутивов Chimera отличается отсутствием утилит и библиотек GNU и использованием кода из систем BSD. Для сборки используются LLVM и musl с аллокатором mimalloc от Microsoft. В качестве системы инициализации поставляется Dinit. Средой рабочего стола по умолчанию является GNOME. Менеджером пакетов дистрибутива является APK (alpinelinux.org) (из Alpine Linux).

Chimera является бинарным дистрибутивом с готовыми сборками под архитектуры x86_64, ARM AArch64, POWER и RISC-V. Для энтузиастов также доступна сборка из исходного кода.

>>> Подробности (chimera-linux.org)

hateyoufeel
()

Отличия C и C++

 ,

Есть два эквивалентных примера:

#include <stdatomic.h>

int main() {
  int v[2], * p0 = v, * _Atomic p1 = v;
  if (p0 != p1) return 1;
  if (++p0 != ++p1) return 2;
  if (++p0 != (atomic_fetch_add_explicit(&p1, 1, memory_order_relaxed), p1)) return 3;
}

#include <atomic>
using namespace std;

int main() {
  int v[2], * p0 = v; atomic<int*> p1 = v;
  if (p0 != p1) return 1;
  if (++p0 != ++p1) return 2;
  if (++p0 != (p1.fetch_add(1, memory_order_relaxed), p1)) return 3;
}

C-версия делает return 3. Из-за того, что atomic_fetch_add_explicit(&p1, 1, memory_order_relaxed) компилируется в lock addq $0x1,-0x10(%rsp). В C++ lock addq $0x4,-0x10(%rsp) - как и должно быть, учитывает тип. Это баг какой-то или так специально сделано? Зачем?

qweururu
()

Визуализатор кода на C

 

Хочу утилиту, похожую вот на это (visualstudio.com), но не привязанную к конкретному редактору. Хочу видеть граф вызова функций для сишного кода, с возможностью отключать неинтересные ноды, указывать интересные, и крутить граф в разные стороны. Очень хочу избежать страдания с graphviz и gtags. Лучше всего, если будет человеческий UI, который можно вертеть мышкой.

gaylord
()

Как ПРАВИЛЬНО запускать игровые бинарники.

 ,

Как правильно запускать на основной машине, от основного юзера (с хомяком в котором ~/.ssh/id_rsa.pub например) игры, которые естественно проприетарные и иногда даже неофициальной сборки, где есть риск закладки и зловреда, но запускать их в чистой виртуалке невозможно т.к. значительно падает производительность. Заходить в другой tty, либо заводить другой компьютер для игр, это очевидные варианты, но неудобные и не всегда возможные.

  1. Как вы это делаете? Firejail? Bubblewrap?
  2. Cуществует ли компромисс между удобством, производительностью и безопасностью?

Спасибо за ответы.

cheetah111v
()

Как сейчас принято ставить древние версии gcc на современный линукс

 , ,

Ну в общем сабж, если конкретно то пусть будет версия 3.2 . Из того, что пробовал: скомпилировать из сырцов - ошибка компиляции, пакеты из древних дистров - неудовлетворенные зависимости. Что получилось - сделать новое окружение в анаконде, но там минимальная версия 5.4. Что не пробовал - chroot, docker и ВМ. Все же это излишне кмк.

einhander
()

GTK: This application can not open files.

 ,

Пытаюсь написать мини-программу для определенной задачи, но нужно, чтоб программа принимала аргументы из терминала

После компиляции и запуска программы

./programm argument

выдает ошибку This application can not open files.

Сама программа работает, но аргументы не принимает, как фиксить?

#include <gtk/gtk.h>

void
createInterface(GtkApplication *app)
{
    GtkWidget *window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW(window), "Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    gtk_window_present(GTK_WINDOW(window));
}

int
main(int argc, char **argv)
{
    GtkApplication *app = gtk_application_new("org.gtk.example", G_APPLICATION_DEFAULT_FLAGS);
    g_signal_connect(app, "activate", G_CALLBACK(createInterface), NULL);
    g_application_run(G_APPLICATION(app), argc, argv);
    g_object_unref(app);

    return 0;
}
cherry
()

Приложения и утилиты, которые стоит попробовать

 , ,

Приложения и утилиты, которые стоит попробовать

Многие пользователи Linux с большим стажем даже не подозревают о существовании этих замечательных инструментов, которые способны облегчить им жизнь…

( читать дальше... )

rtxtxtrx
()

Жизнь Intel Arc на Лине

 , ,

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

stom
()

YT-DLP, очевидное-невероятное

 ,

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 22 (720p, единый файл, не dash). Может я наговариваю, конечно, на ютуб, но формат best (720p) всегда был, имхо.


Оказывается есть возможность получать другую таблицу форматов, отличную от дефолтной. У yt-dlp есть параметр --extractor-arg "youtube:player_client=mediaconnect" ([youtube] Format 22 is only sometimes extracted for some videos #10206).
Дефолтная таблица форматов:

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' 
Extracting cookies from firefox
Extracted 1328 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading ios player API JSON
[youtube] eUyr9MJnj4w: Downloading player 5b22937f
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │   FILESIZE   TBR PROTO │ VCODEC          VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                  mhtml │ images                                  storyboard
sb2 mhtml 80x45        1    │                  mhtml │ images                                  storyboard
sb1 mhtml 160x90       1    │                  mhtml │ images                                  storyboard
sb0 mhtml 320x180      1    │                  mhtml │ images                                  storyboard
233 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
234 mp4   audio only        │                  m3u8  │ audio only          unknown             Default
139 m4a   audio only      2 │    1.32MiB   49k https │ audio only          mp4a.40.5   49k 22k low, m4a_dash
249 webm  audio only      2 │    1.30MiB   48k https │ audio only          opus        48k 48k low, webm_dash
250 webm  audio only      2 │    1.70MiB   63k https │ audio only          opus        63k 48k low, webm_dash
140 m4a   audio only      2 │    3.51MiB  129k https │ audio only          mp4a.40.2  129k 44k medium, m4a_dash
251 webm  audio only      2 │    3.51MiB  130k https │ audio only          opus       130k 48k medium, webm_dash
602 mp4   256x144     15    │ ~  2.33MiB   86k m3u8  │ vp09.00.10.08   86k video only
394 mp4   256x144     30    │    1.68MiB   62k https │ av01.0.00M.08   62k video only          144p, mp4_dash
269 mp4   256x144     30    │ ~  4.16MiB  154k m3u8  │ avc1.4D400C    154k video only
160 mp4   256x144     30    │    1.55MiB   57k https │ avc1.4D400C     57k video only          144p, mp4_dash
603 mp4   256x144     30    │ ~  4.18MiB  154k m3u8  │ vp09.00.11.08  154k video only
278 webm  256x144     30    │    2.35MiB   87k https │ vp9             87k video only          144p, webm_dash
395 mp4   426x240     30    │    2.70MiB  100k https │ av01.0.00M.08  100k video only          240p, mp4_dash
229 mp4   426x240     30    │ ~  5.70MiB  211k m3u8  │ avc1.4D4015    211k video only
133 mp4   426x240     30    │    2.35MiB   87k https │ avc1.4D4015     87k video only          240p, mp4_dash
604 mp4   426x240     30    │ ~  7.76MiB  287k m3u8  │ vp09.00.20.08  287k video only
242 webm  426x240     30    │    3.59MiB  133k https │ vp9            133k video only          240p, webm_dash
396 mp4   640x360     30    │    5.02MiB  186k https │ av01.0.01M.08  186k video only          360p, mp4_dash
230 mp4   640x360     30    │ ~ 11.41MiB  421k m3u8  │ avc1.4D401E    421k video only
134 mp4   640x360     30    │    4.13MiB  153k https │ avc1.4D401E    153k video only          360p, mp4_dash
18  mp4   640x360     30  2 │ ≈  7.64MiB  282k https │ avc1.42001E         mp4a.40.2       44k 360p
605 mp4   640x360     30    │ ~ 15.03MiB  555k m3u8  │ vp09.00.21.08  555k video only
243 webm  640x360     30    │    6.06MiB  224k https │ vp9            224k video only          360p, webm_dash
397 mp4   854x480     30    │    8.40MiB  310k https │ av01.0.04M.08  310k video only          480p, mp4_dash
231 mp4   854x480     30    │ ~ 15.17MiB  561k m3u8  │ avc1.4D401F    561k video only
135 mp4   854x480     30    │    6.09MiB  225k https │ avc1.4D401F    225k video only          480p, mp4_dash
606 mp4   854x480     30    │ ~ 20.80MiB  769k m3u8  │ vp09.00.30.08  769k video only
244 webm  854x480     30    │    8.50MiB  314k https │ vp9            314k video only          480p, webm_dash
398 mp4   1280x720    30    │   14.51MiB  536k https │ av01.0.05M.08  536k video only          720p, mp4_dash
232 mp4   1280x720    30    │ ~ 24.57MiB  908k m3u8  │ avc1.4D401F    908k video only
136 mp4   1280x720    30    │   11.09MiB  410k https │ avc1.4D401F    410k video only          720p, mp4_dash
609 mp4   1280x720    30    │ ~ 31.59MiB 1167k m3u8  │ vp09.00.31.08 1167k video only
247 webm  1280x720    30    │   13.61MiB  503k https │ vp9            503k video only          720p, webm_dash
399 mp4   1920x1080   30    │   24.33MiB  899k https │ av01.0.08M.08  899k video only          1080p, mp4_dash
270 mp4   1920x1080   30    │ ~ 73.64MiB 2721k m3u8  │ avc1.640028   2721k video only
137 mp4   1920x1080   30    │   39.45MiB 1458k https │ avc1.640028   1458k video only          1080p, mp4_dash
614 mp4   1920x1080   30    │ ~ 53.22MiB 1967k m3u8  │ vp09.00.40.08 1967k video only
248 webm  1920x1080   30    │   26.78MiB  990k https │ vp9            990k video only          1080p, webm_dash
616 mp4   1920x1080   30    │ ~131.47MiB 4858k m3u8  │ vp09.00.40.08 4858k video only          Premium
400 mp4   2048x1152   30    │   60.94MiB 2252k https │ av01.0.08M.08 2252k video only          1080p, mp4_dash
620 mp4   2048x1152   30    │ ~151.23MiB 5589k m3u8  │ vp09.00.50.08 5589k video only
271 webm  2048x1152   30    │   82.90MiB 3063k https │ vp9           3063k video only          1080p, webm_dash

Новая таблица форматов с единым файлом/потоком для 720p (и 1080p):

$ yt-dlp -F 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect"
Extracting cookies from firefox
Extracted 1329 cookies from firefox
[youtube] Extracting URL: https://youtu.be/eUyr9MJnj4w
[youtube] eUyr9MJnj4w: Downloading webpage
[youtube] eUyr9MJnj4w: Downloading mediaconnect player API JSON
[youtube] eUyr9MJnj4w: Downloading m3u8 information
[info] Available formats for eUyr9MJnj4w:
ID  EXT   RESOLUTION FPS CH │  FILESIZE   TBR PROTO │ VCODEC        VBR ACODEC      ABR ASR MORE INFO
────────────────────────────────────────────────────────────────────────────────────────────────────────────
sb3 mhtml 48x27        0    │                 mhtml │ images                                storyboard
sb2 mhtml 80x45        1    │                 mhtml │ images                                storyboard
sb1 mhtml 160x90       1    │                 mhtml │ images                                storyboard
sb0 mhtml 320x180      1    │                 mhtml │ images                                storyboard
140 m4a   audio only      2 │   3.51MiB  129k https │ audio only        mp4a.40.2  129k 44k medium, m4a_dash
160 mp4   256x144     30    │   1.55MiB   57k https │ avc1.4d400c   57k video only          144p, mp4_dash
91  mp4   256x144     30    │ ~ 4.16MiB  154k m3u8  │ avc1.4d400c       mp4a.40.5
133 mp4   426x240     30    │   2.35MiB   87k https │ avc1.4d4015   87k video only          240p, mp4_dash
92  mp4   426x240     30    │ ~ 5.70MiB  211k m3u8  │ avc1.4d4015       mp4a.40.5
134 mp4   640x360     30    │   4.13MiB  153k https │ avc1.4d401e  153k video only          360p, mp4_dash
93  mp4   640x360     30    │ ~11.41MiB  421k m3u8  │ avc1.4d401e       mp4a.40.2
18  mp4   640x360     30  2 │ ≈ 7.64MiB  282k https │ avc1.42001E       mp4a.40.2       44k 360p
135 mp4   854x480     30    │   6.09MiB  225k https │ avc1.4d401f  225k video only          480p, mp4_dash
94  mp4   854x480     30    │ ~15.17MiB  561k m3u8  │ avc1.4d401f       mp4a.40.2
136 mp4   1280x720    30    │  11.09MiB  410k https │ avc1.4d401f  410k video only          720p, mp4_dash
95  mp4   1280x720    30    │ ~24.57MiB  908k m3u8  │ avc1.4d401f       mp4a.40.2
137 mp4   1920x1080   30    │  39.45MiB 1458k https │ avc1.640028 1458k video only          1080p, mp4_dash
96  mp4   1920x1080   30    │ ~73.64MiB 2721k m3u8  │ avc1.640028       mp4a.40.2

Как скачивать 720p (формат единым файлом/потоком):

$ yt-dlp -f 95 'https://youtu.be/eUyr9MJnj4w' --extractor-arg "youtube:player_client=mediaconnect" 

Как воспроизводить 720p (формат единым файлом/потоком):

$ mpv --ytdl-format=95 'https://youtu.be/eUyr9MJnj4w' --ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" 


Кроме того:

  • Для mpv можно создать профиль [youtube] в mpv.conf, где прописать условие срабатывания на ютубных ссылках, типа profile-cond=path:match('youtu%.?be') ~= nil или profile-cond=path:find('youtu%.?be') (1 (mpv.io)).
    И добавив в профиль параметр ytdl-raw-options=extractor-arg="youtube:player_client=mediaconnect" и ytdl-format=95/best.
  • Для yt-dlp, чтобы при наборе команды в терминале мучительно долго не вспоминать указанную в начале заметки длиннющую опцию, можно создать алиас. В конфиге yt-dlp прописываем, как пример, --alias 95f '-f 95 --extractor-arg="youtube:player_client=mediaconnect"'. Теперь, чтобы скачать, пишем yt-dlp --95f 'https://youtu.be/eUyr9MJnj4w'.


Для чего все это надо?

  • минус издержки на склеивание dash-потоков видео и аудио средствами ffmpeg;
  • возможность отправлять ссылку на стандартный вывод (stdout) какого-либо плеера, например vlc;
  • плюс, оказывается, и для 1080p существует подобный формат единого файла.
  • лучшая отзывчивость при перемотке во внешнем плеере (возможно верно для всех hls и не зависит от таблицы форматов)
krasnh
()

Играюсь с фильтрами ffmpeg

 ,

Пластинка крутится, волны волнуются.

Автопрофиль для mpv чтоб показывать автоматически эту красоту, когда играет аудиофайл:

~/.config/mpv/mpv.conf

Подгрузить гифку (не в профиле!):

external-files-add=/home/user/.config/mpv/vinyl.gif

Теперь сам профиль:

[mp3]
profile-cond=not video
profile-restore=copy
lavfi-complex="[aid1]asplit[ai][ao];[ai]showwaves=mode=line:s=500x281:colors=White:[wf];[vid1]loop=loop=-1:size=12[bg];[bg][wf]overlay=shortest=1[vo]" #здесь в одну строчку должно быть, LOR перенос делает
hr-seek=yes

hr-seek=yes нужен для того, чтоб правильно работала перемотка внутри трека.

Ссылка на GIF: ТЫЦ (duckduckgo.com)

BACR
()

муравей залез в матрицу экрана

 

Ползает внутри - картинку загораживает собой, но он именно внутри, внешняя матовая поверхность экрана над ним. Если её прижать он перестаёт ползать, наверно можно его там и раздавить внутри но он испортит вид экрана. Я вообще не знал что там полость есть. Как его оттуда убрать?

firkax
()

Как дать Steam доступ к разделам на других дисках?

 ,

Если в хранилище Steam выбрать раздел на другом диске, то игры туда не ставятся из-за ошибки доступа. В исходный раздел игры ставятся. Раньше на другие разделы игры ставились (даже были установлены и работали). В какой момент возникла проблема я не понял, может стим обновился или система. Steam установлен в версии Flatpak. ОС КДЕ Неон.

Kurum2
()

Накидайте книг для продвинутого Си под онтопик

 ,

Сто лет назад прочитал K&R и всегда хватало, а если я хочу углУбить?

// друг спрашивает :)

UPD: собрал из темы списочек, особо не редактируя (экстримов и модернов поболее одного, но пусть будет) – думаю, заглянувшим в будущем будет полезно:

  • modern c by jens gustedt
  • Thomas Mailund - Pointers in C Programming (2021)
  • Gustedt - Modern C (2020)
  • Kalin - Modern C Up and Running (2022)
  • King - C Programming. A Modern Approach, 2nd ed. (2008)
  • Хэзфилд «Искусство программировани на C»
  • «Язык C в XXI веке»
  • Экстремальный Си
  • extreme c programming
  • «UNIX. Профессиональное программирование» Уильям Ричард Стивенс, Стивен А. Раго
  • C Interfaces and Implementations: Techniques for Creating Reusable Software
  • Peter van der Linden, Expert C Programming: Deep C Secrets https://progforperf.github.io/Expert_C_Programming.pdf
  • Чан Теренс «Системное программирование на С++ для Unix»
pihter
()

arch, plymouth - splash включается только после ввода пароля на дешифрование диска

 ,

Доброго всем времени суток. Есть свежий арч :) с шифрованым корнем. Хочется чтобы при загрузке сразу врубался красивый сплеш от plymouth и пароль собственно надо было бы вводить в приятное глазу поле ввода(как это сделано в убунте/федоре например). На данный момент это не так, сплэш появляется только после ввода пароля на дешифрование через ‘голую’ консоль - выглядит это так себе конечно.

Итак, вот как грузится ядро:

$ cat /proc/cmdline 
initrd=\amd-ucode.img initrd=\initramfs-linux.img cryptdevice=PARTUUID=1028f51b-d0a0-4c1e-ad86-ae1a2c3f82ef:root root=/dev/mapper/root zswap.enabled=0 rootflags=subvol=@ rw rootfstype=btrfs quiet splash

вот так собирается initrd(через mkinitcpio -P)

$ cat /etc/mkinitcpio.conf
MODULES=(btrfs amdgpu)
BINARIES=(/usr/bin/btrfs)
FILES=()
HOOKS=(base udev autodetect keyboard keymap modconf block encrypt filesystems fsck plymouth)

тема для plymouth выбрана вот так:

$ sudo plymouth-set-default-theme -R bgrt

каких-то ошибок при загрузке не видно если честно. Те после после ввода пароля и при выключении - сплеш появляется, хотелось бы чтоб он сразу выпрыгивал как начинается загрузка.

PS: ставилось всё это дело через archinstall, из aur только пара прикладных софтинок установлена

SpaceRaven
()

Перевозка компьютера с водяной системой охлаждения зимой.

 , , ,

Привет, ЛОР.
У меня максимально необычный вопрос, но нагуглить толком ничего не получилось.
Дано: Рабочая станция с водяной системой охлаждения (ASUS ROG Strix LC 360).
И необходимость перевезти это из Уфы в Москву, глобальный переезд, потому планируется заказ грузовой газели, где со всем прочим поедет и системник.
Но, только сейчас я понял, что ехать оно будет двое суток, а за бортом разброс температур от -20 до -5. В грузовом отсеке автомобиля, скорее всего, будет едва ли теплее.
Соб-но, вопрос, а как системы водяного охлаждения относятся к такому?
Забегая вперед: Система неразборная, вариант слить жидкость не вариант. Либо везти, либо не везти.

Jefail
()