LINUX.ORG.RU

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

Статьи — Мобильные устройства

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

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

По мотивам темы Обнаружен практически идеальный ноут для линукса.

Привет, ЛОР! Хотел бы рассказать о смартфонах без гуглосервисов, которых кот наплакал, если хочется новое и недорогое устройство. Выбор тут невелик: Google Pixel и LineageOS/GrapheneOS, или CMF 1 и /e/OS(форк LineageOS). Список телефонов, которые прошиваются на LineageOS по годам выпуска - тут. Из списка примерно ясно, что кроме пикселей на рынке нет устройств, которые можно было бы купить новым и перешить на LineageOS.

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

 ,

XMPP
()
Статьи — Desktop

Тонкие заголовки окон у клиент-декориуемых gtk3-приложений

Посвящается тем, кто пишет что декорации на стороне клиента (CSD) занимают слишком много места.

На картинках заголовоки:

  • geany (SSD);
  • xfce4-settings-manager (CSD);
  • thunar 4.20 (CSD);
  • gtk-inspector (CSD);
  • gtk3-icon-browser (CSD);
  • gtk3-widget-factory (CSD);
  • glade (CSD);
  • totem (CSD).

Чтобы сделать CSD тоньше надо в файл темы или в ~/.config/gtk-3.0/gtk.css добавить

/* Элементы заголовка */
.titlebar
, .titlebar button
, .titlebar image
, .titlebar box
{ margin: 0
; min-width:  12px
; min-height: 12px
}

/* Кнопки _ [] x */
.titlebutton
, .titlebar .titlebutton
{ margin: -3px
}

Перемещено hobbit из screenshots

 , ,

tnray
()
Форум — General

Интернет в частный дом

Не так давно приобрёл недвижимость в частном секторе, куда ни один провайдер не желает вести линию. Сотовая связь там есть. До ближайшей вышки, исходя из данных сервиса cellmapper, метров 150.

Местные кулибины предлагают за 35к - 40к безлимитный интернет «под ключ», но хотелось бы организовать всё самому.

Может есть у кого кейсы, либо ссылка на how to как всё это замутить? Финдебоберных модемов, с вай-фай антеннами, количеством лап как у паука не надо! Надо только приёмник сигнала, который будет передавать его (скорее всего) в такой микрот, а дальше я уже сам. Дело в том, что с таким я не сталкивался никогда от слова совсем, в связи с чем приполз сюда на полусогнутых за советом.

P.S> Где-то тут на форуме есть деревенский житель. Встречал его ранее. На аве у него дом заснеженный =) Отзовись. Посоветуй чё-нить пжлста.

 , , ,

Dodik
()
Форум — Desktop

Проблема с именами файлов кирилицей через ssh в mc

Всем привет. система debian stable. Очень странный вопрос, наверно все просто но не могу понять где проблема.
На одном из компов в mc если открыть ssh соединение то русскоязычные имена файлов и директорий будут цифрами. При этом сама кирилица нормально - можно открыть какой нибудь файлик почитать встроенной в mc смотрелкой - кирилица нормально. Можно создать файл с названием кирилицей - он создается нормально, но видно его как цифры. Этот косяк только в отображении панелей в mc. можно посмотреть ssh user@host ls -l /some/directory и все будет правильно.
Еще попробовал - если на удаленной машине собрать файлы например в *.tar.xz и зайти в него в этой панели то имена будут нормально.
Притащил все конфиги mc с заведомо работающей машины - ничего не поменялось. Проверил вывод locale - совпадает.
Где что надо поправить?

 ,

griz
()
Форум — General

Блокировка сайта в OpenWRT по MAC

Здравствуйте. Не смог найти решение своей проблемы поиском в Гугл. Есть роутер с прошивкой OpenWRT с LuCI, в сети несколько компьютеров. Необходимо конкретному компьютеру по MAC адресу заблокировать доступ на определенные сайты по адресу, а не по IP (например у Вконтакте может быть десяток IP адресов, так что нужно именно по адресу). В LuCI есть возможность заблокировать сайт целиком для сети, но не смог найти именно определенному компьютеру. Сопутствующий вопрос: я так понимаю придется залезать в /etc/config/firewall и что-то там прописывать, но как мне его редактировать? В LuCI такой возможности нигде не нашел.

 

hochbar
()
Форум — Linux-hardware

Есть сейчас способ обойти Intel LAR или нет?

Хочется 6ГГц диапазон, а не даёт.

Linux alpha17 6.8.0-45-generic #45~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Sep 11 15:25:05 UTC 2 x86_64 x86_64 x86_64 GNU/Linux


iw phy#0 channels
...
Band 4:
	* 5955 MHz [1] (disabled)
	* 5975 MHz [5] (disabled)
	* 5995 MHz [9] (disabled)
	* 6015 MHz [13] (disabled)
	* 6035 MHz [17] (disabled)
	* 6055 MHz [21] (disabled)
	* 6075 MHz [25] (disabled)
	* 6095 MHz [29] (disabled)
	* 6115 MHz [33] (disabled)
	* 6135 MHz [37] (disabled)
	* 6155 MHz [41] (disabled)
	* 6175 MHz [45] (disabled)
	* 6195 MHz [49] (disabled)
	* 6215 MHz [53] (disabled)
	* 6235 MHz [57] (disabled)
	* 6255 MHz [61] (disabled)
	* 6275 MHz [65] (disabled)
	* 6295 MHz [69] (disabled)
	* 6315 MHz [73] (disabled)
	* 6335 MHz [77] (disabled)
	* 6355 MHz [81] (disabled)
	* 6375 MHz [85] (disabled)
	* 6395 MHz [89] (disabled)
	* 6415 MHz [93] (disabled)
	* 6435 MHz [97] (disabled)
	* 6455 MHz [101] (disabled)
	* 6475 MHz [105] (disabled)
	* 6495 MHz [109] (disabled)
	* 6515 MHz [113] (disabled)
	* 6535 MHz [117] (disabled)
	* 6555 MHz [121] (disabled)
	* 6575 MHz [125] (disabled)
	* 6595 MHz [129] (disabled)
	* 6615 MHz [133] (disabled)
	* 6635 MHz [137] (disabled)
	* 6655 MHz [141] (disabled)
	* 6675 MHz [145] (disabled)
	* 6695 MHz [149] (disabled)
	* 6715 MHz [153] (disabled)
	* 6735 MHz [157] (disabled)
	* 6755 MHz [161] (disabled)
	* 6775 MHz [165] (disabled)
	* 6795 MHz [169] (disabled)
	* 6815 MHz [173] (disabled)
	* 6835 MHz [177] (disabled)
	* 6855 MHz [181] (disabled)
	* 6875 MHz [185] (disabled)
	* 6895 MHz [189] (disabled)
	* 6915 MHz [193] (disabled)
	* 6935 MHz [197] (disabled)
	* 6955 MHz [201] (disabled)
	* 6975 MHz [205] (disabled)
	* 6995 MHz [209] (disabled)
	* 7015 MHz [213] (disabled)
	* 7035 MHz [217] (disabled)
	* 7055 MHz [221] (disabled)
	* 7075 MHz [225] (disabled)
	* 7095 MHz [229] (disabled)
	* 7115 MHz [233] (disabled)

 

targitaj
()
Форум — Admin

Посоветуй-тред бюджетный KVM over IP

Что-то я ничего не нахожу путного. На амазоне есть какой-то китайский Sipeed NanoKVM IP-KVM и это всё, что я пока нашёл.

Бюджет – до 100eur, т.к. это только «на поиграться» – в подвале осталось пару дюже древних железок, которые перестали вдруг грузиться, но вроде ещё жужжат. Надо глянуть, что там да как, а мониторов в доме больше не осталось.

Как минимум HDMI + USB, бонусом будет VGA. PS/2 скорее всего уже не найти, но это уже совсем супер-бонус, если вдруг захочу оживить Indigo2.

 ,

beastie
()
Форум — Talks

Несколько видеопотоков на дисплее (Android)

Шалом, поняши.

Есть пара старых планшетов (на 7 и 8.1 Андроеде), из которых я хочу сделать дисплей для видеонаблюдения. Необходимо выводить на одном дисплее два потока rtmp, например.

Подскажите, плиз, какие есть варианты.

 , ,

IPR
()
Форум — General

Как разбить по разным каталогам содержимое одного в 8000 файлов?

Есть каталог с более чем 8000 файлов. Для ускорения работы с ним, нужно разбить находящиеся в нём файлы на группы по какому-либо признаку. 1) вариант создать 8 подкаталогов, и переместить в каждый по 1000 файлов. 2) Поскольку файлы добавлялись годами, создать папки с номерами годов, и в каждый поместить созданные в нём файлы.

Вопрос, как такое лучше всего сделать?

Приходит на ум find, но только для варианта 2).

find . -mindepth 1 -newermt '2011-01-01 00:00' ! -newermt 
'2012-01-01 00:00' -ls

Вот только выдача по -ls кривая. Вместо русских имён файлов юникоды: /\320\243\320\261\320\270\321\202\321\214\
Выдача просто по ls корректная.
почему вывод ls через find кривой и как это исправить? man пишет, что русские буквы ему UNUSUAL FILENAMES, поэтому по дефолту выводит так. Как отучить его от этого, пока не дочитал.

 , ,

hikikomori
()
Форум — General

Изменение цветов вводимой команды в Bash.

Здрасть, форум! Мне хочется изменить команду, которую ввожу, на другой цвет. Например: modpoll -c 1300 Нужно, чтобы был другой цвет параметра.

 ,

Welldray
()
Форум — General

Кто как сейчас ускоряет youtube?

Раньше мне помогал spoofdpi, а теперь, два дня назад, и он перестал работать. В интернете говорят, что и у goodbyedpi в этот момент проблемы возникли но их быстро решили. К сожалению, его нету под Linux. Были надежды на byeDPI но либо он тоже не справляется, либо я не могу найти подходящую команду для него. Хотя приложение ByeDPI на андроиде ещё работает. Так вот, кто какими решениями пользуется под Linux? v2ray, vpn, это всё конечно хорошо но своей VPS у меня нету, а публичные в 12 раз медленнее чем мой интернет.

Ещё примечание, я обычно предварительно скачиваю через yt-dlp а потом уже смотрю. Где-то говорили, что у кого-то youtube работает если включить протокол QUIC в браузере. Есть ли такая возможность в yt-dlp? Или может есть какая-то дополнительная программа, которая будет работать как прокси и будет трафик в QUIC превращать.

 , ,

whatiswhat
()
Форум — General

выключение монитора без xscreensaver и чего-то подобного в X'ах

Не подскажите, через что и в обще где задается общесистемный параметр для гашения монитора ~5 минут, если не запущен ни xscreensaver, ни xfce4-power-manager &etc.?

Хотел бы увеличить период, ну и посмотреть чего еще задать может можно, раньше через всякие ДЕ-тулзы это все задавал... но так подумал если просто гашение нужно зачем какие-то еще демоны тащить, вот правда, на счет скажем отправлять в спящий режим машину, если к ней не прикасать ~час, что-то мне кажется не получится это или все таки можно, как думаете?

В /etc/X11/xorg.conf* смотрел, но там у меня пусто, дефолт или заданный параметр оттуда берется я правильно понимаю?.. В принципе, наверно и вопрос про это

 , , , ,

NK
()
Новости — Open Source

Изменился состав управляющих у репозитория Wine-TkG

Группа Open Source

Этьен Жювиньи, он же Tk-Glitch, известный по github-проектам wine-tkg, wine-proton-tkg и Tk-Glitch PKGBUILDs (последний предназначен для дистрибутивов на основе ArchLinux), после около десяти лет поддержки стал жаловаться на здоровье. Из-за этого он стал реже смотреть за «перебазированием» патчей и приёмом пулл-реквестов.

Этьен заявляет, что не собирается бросать репозиторий. Но тут же стало известно, что он назначил для репозитория Wine-TkG ещё одного управляющего — Кирилла Артемьева, он же Artewar67.

Пока что Кирилл столкнулся с непредвиденной задачей — на гитлабе Wine поломали структуру директорий, из-за чего библиотеки (i386 и x86_64) устанавливаются все вместе в один общий каталог, без разделения на архитектуру. С этим «перебазированием» Кирилл справляется хорошо.

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

>>> Подробности на Github

 , ,

Set440
()
Форум — Desktop

Недоступны некоторые сайты, которые открываются в других ОС

Привет, ЛОР.

Уже давно бьюсь со странной проблемой.

Дано: ArchLinux (до этого был KDE Neon), Firefox (до этого Chromium) и везде одна и та же проблема.

Некоторые сайты не открываются с ошибкой

The connection has timed out

The server at www.fastmail.com is taking too long to respond.

При этом на всех других устройствах и ОС в той же локальной сети все работает отлично, проблема наблюдается только на Linux.

nslookup до них проходит, ping тоже, DoH в Firefox выключен.

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

Примеры: fastmail.com, vsulimov.com, git.vsulimov.com (последние 2 - мои личные)

 , , , ,

Jefail
()
Форум — Admin

Уведомление о подключении по sftp/scp

Господа, всем доброго настроения.
Не пойму как решить задачу. Гугление, к сожалению, не поспособствовало, за сим прошу помощи у коллективного сознательного.

Имеется скрипт-уведомлялка, который говорит Telegram-боту отправить сообщение определённому абоненту при авторизации на сервере по SSH.
Лежит скрипт по пути /etc/profile.d/script.sh, выглядит следующим образом:

#!/bin/bash
BOT_TOKEN=token
CHAT_ID=id
USER_IP=$(echo $SSH_CLIENT | awk '{ print $1}')
BOT_MESSAGE="🔐 $(hostname): $(whoami) is authorized from $USER_IP"
curl -X POST -d "text=$BOT_MESSAGE" 'https://api.telegram.org/bot'$BOT_TOKEN'/sendMessage?chat_id='$CHAT_ID'' &>/dev/null

Проблема заключается в том, что работает он только при подключении по, непосредственно, интерактивному SSH. Если подключиться через условный WinSCP - уведомления не будет, как и если просто скопировать файл на сервер через scp.

Интуиция подсказывает, что заковыка связана с понятиями «интерактивности/неинтерактивности» устанавливаемой сессии, и, соответственно, в местоположении скрипта, но вот знаний, чтобы понять, как описанную проблему исправить – не хватает.

Подскажите, пожалуйста, что именно нужно сделать, чтобы получать желаемое уведомление при любого типа подключении на условный «22 порт», вне зависимости от того, было ли это SSH или SFTP?

 , , ,

takamushi
()
Форум — General

Как узнать время работы команды cd?

Играюсь здесь с ЯДом... Решил сделать протокол. Делаю:

# /usr/bin/time "cd /e"
/usr/bin/time: cannot run cd /e: No such file or directory
Command exited with non-zero status 127
0.00user 0.00system 0:00.00elapsed 61%CPU (0avgtext+0avgdata 1240maxresident)k
0inputs+0outputs (0major+37minor)pagefaults 0swaps

Это встроенная команда шелла, со всеми вытекающими.
И? Как запротоколировать время работы команды cd?

 ,

n0mad
()
Форум — General

Хочу говорить про Bash

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

Решил попробовать написать программку, которая удаляет дубликаты строк из .bash_history (там более 7000 строк у меня). Мне это показалось достойной задачкой для начинающего башиста, хотя и (может быть) довольно бесполезной. Кстати, есть такая программа shell-history-cleaner (кажется на расте написана, давно себе собрал, работает, но видимо заброшена автором), я пользуюсь, но попробовать свои силы надо было.

В результате мне удалось сделать задуманное, но хочется поговорить и о «неудачных» вариантах, которые может быть были бы более удачными, если бы я больше знал о bash и linux вообще, так что категорически приветствуется критика и подсказки более правильных решений или каких-нибудь хитростей командной строки.

Так как-то сложилось, что я упорно откладывал изучение массивов на потом, и когда наконец более-менее разобрался с индексированным массивом, то сразу приступил к делу, чтобы заодно закрепить прочитанное в книжках, поэтому первый «неудачный» вариант будет об этом.

Программа рабочая, делает дело, но долго. Мой файл перемалывает за минуту с небольшим, при этом нагружая одно виртуальное ядро процессора на 100%. Зная лоровские нарративы об ущербности bash как языка программирования, я подумал, что вот и столкнулся с подобной ущербностью, поэтому просто искал возможность хоть как-то оптимизировать процесс.

Я не знаю никаких алгоритмов, так что рассудил так: надо взять (последнюю) строку, удалить дубликаты, строку положить в файл и так по кругу.

file=$1
mapfile -t list < <(grep -v '^$' $file)
while ((${#list[*]})); do
    line=${list[-1]}
    unset list[-1\]
    for i in ${!list[*]}; do
        [[ $line == "${list[i]}" ]] &&
            unset list[i\]
    done
    final+=("$line")
done
printf '%s\n' "${final[@]}" | tac > $file

Для таких же любителей как я поясню идею кода. На его краткость отлично повлиял тот факт, что в истории командной строки надо сохранять последние уникальные строки, то есть работать надо с конца файла, а у индексированных массивов как раз есть стабильная ссылка на последний индекс: array[-1]. То есть не надо ничего переворачивать.

Как я понимаю, самое тугое место в скрипте — сравнение строк, и что-то более быстрых вариантов походу нет. Далее надо думать о многопоточности, но я пока до этого не дозрел.

Поскольку на данном этапе я застрял и вроде бы ясно, что тема с массивами как-то всё усложняет, то решил написать скриптик в стиле unix-way, и искренне полагал, что это будет правильным решением задачки, ведь утилиты все написаны суровыми дядьками на Си, и там всё без дураков — быстро и надёжно. Пришла идея отбросить всю эту возню с поиском и удалением, а просто взять всё — и отфильтровать.

file=$1
list=$(tac $file | grep -v '^$')
while [[ $list ]]; do
    read -r line <<< $list
    list=$(grep -Fxv "$line" <<< $list)
    echo "$line"
done | tac > $file

Чтобы уважаемый лорчанин не хельпал ключи -F -x, напомню: F — читает regex буквально, а x — помещает выражение между ^$, иначе пришлось бы использовать ключ -P (perlre) и выражение выглядело бы как говно: "^\Q$line\E$", а работало бы ещё медленней, возможно, но это не точно. (кстати, я был весьма разочарован узнать, что с sed такое вообще не провернуть — никак не заставить подстановку читать буквально).

Итак, на короткой дистанции (разумеется, у меня был короткий вариант файла для тестов) этот скрипт почти в два раза обогнал предыдущий, но — что было для меня полнейшим разочарованием! — он совершенно заткнулся даже на средней дистанции (нагружая процессор на четверть, но размазано по потокам), то есть я его тупо прервал на какой-то там 10-ой минуте, так что о проверке на полном файле речи уже не шло. Как это понимать — не знаю, поясните. 1000 строк он смолол где-то за секунду с небольшим, а 3000 — уже застрял.

Ладно, пока не было новых идей, прочитал главу про ассоциативные массивы и сразу почуял, что это походу то, что мне надо, но я не ожидал, что настолько! Свойство хеша не дублировать индексы как будто специально создано для решения этой задачки. Быстро стало понятно, что надо просто переложить строки из обыкновенного массива в индексы хеша, а в значения хеша — номера индексов строк из обыкновенного массива.

file=$1
mapfile -t list < <(grep -v '^$' $file)
declare -A hash
for i in ${!list[*]}; do
    hash[${list[i]}]=$i
done
for i in "${!hash[@]}"; do
    final[${hash[$i]}]="$i"
done
printf '%s\n' "${final[@]}" > $file

Это было круто! Нет смысла даже говорить о времени выполнения этой программы, она работает почти мгновенно, менее двух десятых секунды.

Получается на bash таки можно что-то программировать и оно может работать быстро.


UPD

Наконец подсказали, что во втором скрипте у меня ошибка: read -r очищает строку от пробельных символов по краям, поэтому grep её не находит и получается бесконечный цикл. Спасибо @mky: Хочу говорить про Bash (комментарий)
Теперь этот скрипт переваривает тот же файл за 15-16 секунд!

file=$1
list=$(tac $file | grep -v '^$')
while [[ $list ]]; do
    IFS=$'\n' read -r line <<< $list
    list=$(grep -Fxve "$line" <<< $list)
    echo "$line"
done | tac > $file

UPD2

Спасибо анону, подкинул идею отфильтровать хешем в один проход: Хочу говорить про Bash (комментарий)

file=$1
mapfile -t list < <(tac $file | grep -v '^$')
declare -A hash
for i in "${list[@]}"; do
    [[ ${hash[$i]} ]] && continue
    hash[$i]=added
    final+=("$i")
done
printf '%s\n' "${final[@]}" | tac > $file

UPD3

Продолжаю благодарить анона, что замотивировал таки раскурить sort. Итак, почти самый шустрый вариант:

file=$1
list=$(< $file \
    grep -vn '^$' |
    tac |
    sort -t: -k2 -u |
    sort -t: -k1,1n |
    cut -d: -f2-)
echo "$list" > $file

На моём компе меньше трёх сотых секунды!


UPD4

Дошли руки до AWK и это походу победитель на скорость в стиле unix-way (анон давал такой рецепт в треде).

file=$1
list=$(tac $file |
    grep -v '^$' |
    awk '!added[$0]++')
tac <<< $list > $file

На моём компе — девять тысячных секунды!

 

papin-aziat
()
Форум — Talks

Бесплатный хостинг / Бесплатный домен :)

Кто какими пользуется, какие бывают. Поисковики выдают хренову тучу вариантов. Все их проверять удел сильных духом. Чтобы локация была в РФ, если дают ssh то клёво. Дохлость ресурсов, аптайм в целом по барабану. Кое-как работает и ладно. Интересно узнать как и о просто хостингах куда можно залить статику хоть по FTP и всё без всяких CMS (или если цмски как опция) так и VPS,VDS. Я выпал из всего этого, просто интересно было-бы узнать что сейчас ну стабильное что ли, пусть и скромное.

Ну и чтобы без всяких приколов типа, превышен некий лимит и тебе выставляют счёт. Не скажу что сильно надо, но на перспективу узнать хорошо бы. Если не знаете «хорошие» места, но знаете плохие места, то тоже будет полезно узнать. И не только мне. Гы ::)

Перемещено Dimez из general

 , , , ,

LINUX-ORG-RU
()
Форум — Linux-install

Кто знает хорошо grub? Вопрос по маленькой статейке из Хабра.

Есть статья: Запуск Linux с виртуального диска vmdk на реальном железе и VirtualBox

https://habr.com/ru/articles/547512/

Почему там нужно создавать диск из двух частей? Ну, то есть, зачем там еще впереди кусок из 1 Мегабайта?

Статью я проверил – на Kubuntu 24 Desktop она сработала, а вот на других дистрах не работает, а мне надо другие.

И мне не понятен вопрос про такую конфигурацию диска.

Перемещено hobbit из general

 

truebin
()
Статьи — Разработка

Делаем из Vim IDE

Делаем из Vim IDE

В стародавние времена когда деревья были большими, трава зеленее, а мороженное стоило по 10 копеек, на Земле жили динозавры, и эти динозавры программировали в Vim.

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

 , ,

rtxtxtrx
()