LINUX.ORG.RU

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

Проблемы с уровнем яркости на Honor Magicbook 14 GLO-G561

Форум — Linux-hardware

Установил Ubuntu 22.04.3 LTS на указанный ноут. Сразу при запуске все хорошо - яркость регулируется и с кнопок, и из менюшки. Через некоторое время (минут 10) яркость сама по себе доводится до максимума или до минимума, после чего перестает работать одна или обе кнопки настройки яркости, при этом регулировка из менюшки работает. Иногда это событие повторяется. Один раз было, что яркость сама повысилась до максимума и менялась через менюшку, но сразу же восстанавливалась до максимума, будто была зажата кнопка, но прошло само через пару секунд (впоследствии кнопки так и не заработали). Кто знает, подскажите пожалуйста, в чем может быть дело.

 

krigga
()

Используем socks для доступа к ChatGPT и ускорения YouTube

Статьи — Администрирование
Используем socks для доступа к ChatGPT и ускорения YouTube

Эта статья не содержит описания способов обхода блокировок для доступа к противоправому контенту. Socks-прокси нужны исключительно для того чтобы смотреть YouTube и просить ChatGPT писать за тебя домашние задания!!! У первого какие-то проблемы со скоростью последнее время, говорят, что из-за отключения кеширующих серверов, а второй сам заблокировал жителей из России, Беларуси и Китая…

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

 ,

rtxtxtrx
()

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

Статьи — Desktop

В последнее время ютуб затеял какую-то реорганизацию и стал убирать из некоторых своих видео формат 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).
    И добавив в профиль параметр 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
()

Я поставил Хакинтош ...

Галерея — Скриншоты

На машинку HP ProBook 4730s (6 гб рам, 4 ядра Intel(R) Core(TM) i5-2450M CPU @ 2.50GHz, встроенное видео, механический винт на 600 гб, ath9 wifi)

Самое сложное было вообще понять кто на ком стоит - т.е. что делает загрузчик, как его настраивать, куда класть kexts и откуда их брать ..

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

В принципе трэкпад, видео, камера, звук, вай-фай, единственный разъём усб3 и 3 шт. усб2 и сон работают. Блютуз тормозит и отваливается после сна. ДВД привод кажется умер от старости …

На ноуте была вин 8.1, я её экспериментами с загрузчиком убил, поставил 10-ку ненадолго для перевода диска с MBR разметки в GPT - процедура не сработала. Откопировал всё что нашёл на внешний винт из под Линуксовой лайв-флэшки и разрешил МакОС располагаться как ей вздумается. Пока с макпортами и прочим xcode гигов 40 занято.

>>> Просмотр (1280x800, 673 Kb)

 

Andrew-R
()

Chrome 123.0.6312.58 вернуть старый вид

Форум — Desktop

У меня Chrome обновился до версии 123.0.6312.58 и больше не срабатывает флаг flags/#chrome-refresh-2023

Может там появился еще какой-то флаг? Подскажите

Или единственный способ даунгретить?

 

mirek
()

Поставил macos x 10.6 на виртуалку qemu

Галерея — Скриншоты
  1. Загрузить образ https://archive.org/download/mac-os-x-snow-leopard-10.6-10a-432/Mac_OS_X_Snow_Leopard_10.6_10a432.dmg

Length: 6586892984 (6.1G) [application/x-apple-diskimage]

  1. Загрузчик UEFI

OpenCore for Legacy EFI - bootloader https://khronokernel.com/apple/silicon/2021/01/17/QEMU-AS.html

прямая ссылка https://github.com/khronokernel/khronokernel.github.io/blob/master/Binaries/OpenCore/EFI-LEGACY.img.zip?raw=true

1.5 mb но распкаковывается почти на 200 mb

  1. Грузим(ся) в qemu 9.0+
qemu-system-x86_64 -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -usb -M pc-q35-6.1 -device usb-kbd -device usb-tablet -m 2047  -hda EFI-LEGACY.img -hdb osx.qcow2  -cpu Penryn,vendor=GenuineIntel,+ssse3,+sse4.1  -boot d -bios /usr/share/edk2-ovmf-x64/OVMF_CODE.fd -display sdl,gl=on -accel kvm

Для установки с образа dmg просто добавьте ‘-cdrom some.dmg’

Мне диска на 12 Гб хватило. Звука правда нет, и сети что-то не видно .. потом ещё поковыряю.

>>> Просмотр (1440x900, 847 Kb)

 ,

Andrew-R
()

Встроенный бинарник на Linux

Статьи — Разработка
Встроенный бинарник на Linux

Это текстовая версия статьи, оригинал с картинками вот тут.

Продолжаю раскрывать интересную тему запуска программ нестандартными способами. В этот раз расскажу про запуск ELF-бинарника из скрипта и без записи в файловую систему.

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

 , ,

alex0x08
()

Не получается выдать белый ipv6 с vpn сервера клиенту

Форум — Admin

Хостер отдаёт мне /125 подсеть. Шлюз хостера находится в /48. Конфиг systemd-networkd на сервере (касающееся ipv6):

[Match]
Name=ens3

[Network]
Address=2a0c::120/48
Gateway=2a0c::1

Конфиг wireguard:

[Interface]
Address = 2a0c::121/125
ListenPort = 5000
MTU = 1500
PrivateKey = xx

[Peer]
PublicKey = xx
AllowedIPs = 2a0c::122/128

net.ipv6.conf.all.forwarding=1

В ip6tables всё открыто.

$ ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
200::/7 dev ygg proto kernel metric 256 pref medium
2a0c::120/125 dev wg6 proto kernel metric 256 pref medium
2a0c::/48 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
fe80::/64 dev ygg proto kernel metric 256 pref medium
default via 2a0c::1 dev ens3 proto static metric 1024 pref medium
$ ip -6 a
ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2a0c::120/48 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe2c:1d4b/64 scope link
       valid_lft forever preferred_lft forever
wg6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 2a0c::121/125 scope global
       valid_lft forever preferred_lft forever

Конфиг WG клиента:

[Interface]
Address = 2a0c::122/125
PrivateKey = xx
MTU = 1500

[Peer]
AllowedIPs = ::/0
Endpoint = xx
PersistentKeepalive = 21
PublicKey = xx

В ip6tables всё открыто.

$ ip -6 r s
::1 dev lo proto kernel metric 256 pref medium
200::/7 dev ygg proto kernel metric 256 pref medium
2a0c::120/125 dev wg6 proto kernel metric 256 pref medium
2000::/3 via 2a0c::121 dev wg6 metric 1024 pref medium
fe80::/64 dev ygg proto kernel metric 256 pref medium
fe80::/64 dev eno1 proto kernel metric 1024 pref medium
$ ip -6 a
wg6: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000
    inet6 2a0c::122/125 scope global
       valid_lft forever preferred_lft forever
$ ping -6 2a0c::121
64 bytes from 2a0c::121: icmp_seq=1 ttl=64 time=47.5 ms
$ ping -6 2a0c::120
64 bytes from 2a0c::121: icmp_seq=1 ttl=64 time=46.9 ms (DIFFERENT ADDRESS!)
$ ping -6 2a0c::1
From 2a0c::121 icmp_seq=1 Destination unreachable: Address unreachable

Сервер:

$ ping -6 2a0c::1
64 bytes from 2a0c::1: icmp_seq=1 ttl=64 time=1.14 ms

При пинге клиентом 2a0c::1, сервер передаёт следующее:

# ip6tables -t mangle -A POSTROUTING -j LOG
$ journalctl -f -g 'SRC='
kernel: IN=wg6 OUT=ens3 MAC= SRC=2a0c:0000:0000:0000:0000:0000:0000:0122 DST=2a0c:0000:0000:0000:0000:0000:0000:0001 LEN=104 TC=0 HOPLIMIT=63 FLOWLBL=920934 PROTO=ICMPv6 TYPE=128 CODE=0 ID=14 SEQ=1

Ещё присутствует такое:
kernel: IN=ens3 OUT=ens3 MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=fe80:0000:0000:0000:5054:00ff:fe2c:1d4b DST=2a0c:0000:0000:0000:0000:0000:0000:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0
kernel: IN=ens3 OUT=ens3 MAC=00:00:00:00:00:00:00:00:00:00:00:00:00:00 SRC=fe80:0000:0000:0000:5054:00ff:fe2c:1d4b DST=ff02:0000:0000:0000:0000:0001:ff00:0001 LEN=72 TC=0 HOPLIMIT=255 FLOWLBL=0 PROTO=ICMPv6 TYPE=135 CODE=0

Prerouting при том же пинге:

# ip6tables -t mangle -A PREROUTING -j LOG
$ journalctl -f -g 'SRC='
kernel: IN=wg6 OUT= MAC= SRC=2a0c:0000:0000:0000:0000:0000:0000:0122 DST=2a0c:0000:0000:0000:0000:0000:0000:0001 LEN=104 TC=0 HOPLIMIT=64 FLOWLBL=920934 PROTO=ICMPv6 TYPE=128 CODE=0 ID=15 SEQ=1

Также без пинга есть это:
kernel: IN=ens3 OUT= MAC=33:33:00:00:00:12:00:00:5e:00:02:01:86:dd SRC=fe80:0000:0000:0000:327c:5e08:ae98:3c80 DST=ff02:0000:0000:0000:0000:0000:0000:0012 LEN=80 TC=224 HOPLIMIT=255 FLOWLBL=0 PROTO=112

Почему с клиента в сторону шлюза пакеты уходят, а в ответ тишина?

 , , ,

stripwire
()

FireJail — краткое и ознакомительное практическое руководство

Статьи — Desktop
FireJail — краткое и ознакомительное практическое руководство

Сейчас существует прорва механизмов изоляции приложений — от песочниц до виртуальных машин. Целей их применения тоже множество, но так или иначе всё сводится к тому что нужно ограничить доступ приложений к тем или иным ресурсам вычислительного устройства.

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

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

 , , , ,

LINUX-ORG-RU
()

LORPic: Пишем плагин для браузеров Mozilla Firefox и Chrome/Chromium

Статьи — Разработка
LORPic: Пишем плагин для браузеров Mozilla Firefox и Chrome/Chromium

Прювет, котаны!11

Сегодня мы с вами постараемся написать маленький, но очень полезный плагин расширяющий возможности любителей юмористически-сатирической и даже немного технической площадки линуксоидов — форума linux.org.ru.

Плагин будет представлять из себя расширение для браузеров Mozilla Firefox и Chrome/Chromium, позволяющее отображать изображения непосредственно на страницах ресурса.

Дико извиняюсь за нехватку времени и неполноценный материал (пишу на «скорую руку», завтра может не быть времени) расширение в данном виде скорее «детское», поэтому будет без «фишечек» (хотелось добавить зум и прочее по клику, пока так - по клику открытие изображения на новой вкладке).

Без лирики… Поехали…

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

 , ,

lnx4
()

Как в 2022 переносят кеш и прочее браузеров в tmpfs?

Форум — Desktop

Я видел на арчвики какую-то хрень, но она только конфиги хранит. МНе нужно чтобы мусор весь ~/.cache, ~/.config при старте копировался в /tmp и при выключении сбрасывался на диск. У меня за менее чем неделю терабпайт какого-то говно на диск был записан, тот же journald взбесился и срет постоянно в логи, но я думаю на браузер

 

tz4678
()

Зачем нужны GTK/Qt?

Форум — Talks

Зачем нужны такие тяжелые и неудобные инструменты вроде GTK и Qt? Можно же просто использовать файл, на подобии Xresoures, только с адекватным синтаксизом, вроде .ini, или просто .conf. К примеру вот примерное содержимое theme.ini:

[color]
bg="282828FF"
fg="EBDBB2FF"

Тут bg=BackGround=Фон, fg=ForeGround=Текст, кнопочки, другое. Последние две буквы - Alpha канал, т.е. прозрачность

Так же помимо цветов нужно указывать всякие кнопочки, переключатели, ползунки, вот пример для кнопочки:

[button]
button=/usr/share/MyBestSettingsKit/button.png
text_on_button=true
text_on_button_side=right
image_on_button=true
image_on_button_side=left

Тут из контекста, думаю понятно

Ну и конечно сами картинки, что все-таки будет нарисовано на кнопочке?

[image]
settings=/usr/share/MyBestSettingsKit/images/settings.png
brush=/usr/share/MyBestSettingsKit/images/brush.png

Думаю мою идею вы поняли. Не нужен никакой софт, есть только файл, из которого другие проги собственноручно будут брать настройки. Это самый универсальный вариант, т.к это может использоваться даже в TUI интерфейсах. Также универсальность заключается в том, что можно делать отдельные настройки для разного софта:

[color/ProgrammName]
bg="#00000000"
fg="#FFFFFF00"

[button/ProgrammName]
button=/usr/share/MyProprietaryToolPath/button.png
text_on_button=true
text_on_button_side=right
image_on_button=true
image_on_button_side=left

[image]
settings=/usr/share/MyProprietaryToolPath/images/settings.png
brush=/usr/share/MyProprietaryToolPath/images/brush.png

Ну а путь к самому этому стандартному файлу можно указывать в переменной окружения

P.s. Я понимаю, что в терминале (по стандарту) нет никаких картинок, я говорил про текст.

Перемещено xaizek из desktop

 , ,

madreyk
()

Инструкция получения более-менее шустрого ThinkPad 16g ram/IPS/ssd ноута в 2021 году за 20-30 тыр - вариант на базе T440p

Форум — Linux-hardware
  1. Покупаем на авито thinkpad T440p с отстойной TN-матрицей, HDD и 4gb RAM, CDROM. Проц любой, они меняются, но i5 4300m хватит с избытком, у него же не U на конце. На конце «T440p» буква p - это важно - туда ставят съёмные 47-ваттные процы, а не припаивают на мять 15-ваттные U-модели процов. Данный ноут ещё хорош тем, что закупался мегакорпорациями и мог остаться на складах, их списывали вагонами. Если вы живёте в богатой Швейцарии, то может посто достаточно по помойкам вечером пройтись. ~13000 руб.

  2. Важно найти модель T440p без дискретной Nvidia. В названии «T440p» не отражается, есть там нвидиа или нет, просто T440p бывает с двумя вариантами матери - на одну из матерей припаяна NVidia, на другую нет и стоит система охлаждения полегче (без одной трубки-площадки до чипа нвидии). Толку от nvidia нет, ускорение в игрунях 0.0000001% а зря греется и жрёт питалово. А без неё надёжнее, экономичнее. Это важный пункт выбора породистого девайса - nvidia быть не должно. Авито завален в основном T440p + Nvidia, поэтому нужно тщательно отбирать.

  3. Покупаем на aliexpress правильную матрицу LP140WF3-SPD1 (можете погуглить варианты вокруг неё, но там то цветопередача не та, то яркость), старую выдёргиваем, эту втыкаем (там 1 разьём воткнуть - паять не надо - там такой 40-пиновый разьём - ноут просто находит монитор новой модели) - получаем немерцающий кошерный IPS экран FullHD. Не 4K и хорошо, тормозов поменьше и всё предсказуемее. В матрице официально 262K цветов, но по исследованиям каких-то чуваков из ссылки ниже, цветопередача там лучше, чем в тех про которые написано, что там 16.2M цветов. 4700 руб.

  4. Покупаем на aliexpress touchpad для T450. Родной T440p слишком модный и без физических кнопок, а на T450 физические нормальные кнопки вернули обратно. T450-touchpad физически совместим с T440p - 1500 руб.

  5. Втыкаем SSD любимой модели, я ставил samsung evo pro 860 256G (фильмы не качаю, в игруни не играю, фотки и музло не храню, мне с избытком). В этом ноуте вы упираетесь в скорость SATA. В этом ноуте есть M.2, в который втыкают LTE-модемы, но с SSD там то-ли места не хватает, то-ли не все поддерживаются, то-ли надо что-то мутить в BIOS и непонятно что там будет за скорость. Возможно это самое дорогое, скажем 6-12 тыр.

  6. Воткнуть 16 гигов оперативы. 2 sodimm DDR3L (1.35v), макс 16GB 2133Mhz DDR3 (например Corsair Vengeance 2133Mhz DDR3 Sodimm). 2 планки по 8 гигов: 3500 + 3500 руб

  7. Клавиатура. Если повезло, у вас она американская (а не европейская с большим enter) и сразу с 2-уровневой подсветкой. Можно фильтровать на этапе покупки, если не повезло - аликспресс, но точную модель не знаю. possible 1500 rur

  8. CD-ROM: выдёргиваем, покупаем на Ali sata caddy кейс для второго SSD: 600 руб. Может быть будет пустовать, зато сидюк не будет жрать питалово. Там можно спрятать немного бабла в свёрнутом виде! Потенциально в ноут втыкается до 3 физических дисков - рай файлового плюшкиниста или RAID-маньяка.

  9. M.2 слот: можно втыкать наверное много чего, гипотетически 3-й диск или модем или второй wi-fi, но я не трогал.

Личный опыт - T440p + дефолтная убунта (16.04, 18.04, 20.04) - работает всё, режим сна прекрасен (закрыл крышку, кинул в рюкзак, через неделю открыл - работает), wi-fi 5ghz есть, BT есть, SD-карты читает (фотографам надо), LAN-гигабитка есть (HFT-трейдерам запускать low-latency торговых роботов). Ну ещё в выключенном состоянии работает как power bank через USB-порт, правда без fast charge.

В чём может быть печаль: 2 кг вместо 1 кг (lenovo carbon X1, macbook m1 и т.п. - я не страдаю, но есть капризные слабаки с лимитом в 1 кг), отсутствует задротский способ подключения внешних видюх (как на x230), нет USB-C. Клавиатура не классическая thinkpad, а «новая thinkpad», но старую клавиатуру официально похоронили решением ЦК КПСС навсегда, а её чертежами выстрелили из пушки на солнце, поэтому уже проще один раз перестроить мозговой движок слепой печати под эту новую клаву, чем вечно грустить о былом. Я страдал, я изменился, я полюбил 4++-серию клав.

Итого где-то вокруг 30 тыр получаем железяку с достаточно нормальным кол-вом оперативы и процом для агрессивного компиления и этой железки похоже хватит ещё надолго. Из породистых магазинных ноутов эту железку начинают рвать по производительности девайсы только подбираясь к 150-200 тырам, да и то на какие-то величины процентов в синтетических тестах, которые вам скорее всего похрен. Хотя конечно thinkpad P15 с 128 гигами ОЗУ будет интереснее, но это в 10 раз дороже)

Мегаинструкия на ту же тему с бОльшим колвом деталей и пояснений: https://octoperf.com/blog/2018/11/07/thinkpad-t440p-buyers-guide/#cpu

Бложик и личная история

Как я понял, развитие процов тормознуло к настоящему моменту. Всмысле, в руки попадают всякие thinkpad carbon X1 gen7 или Dell XPS и я не вижу преимуществ в них, относительно старой шарманки T440p i5 4300m. Единственное, что было заметно: T440p на каком-то Dell 27" через displayport на разрешении НИЖЕ 4K, но больше FullHD тянул на полный экран одну WebGL-игрушку в гуглхроме с микроподлагиваниями, а Dell XPS 13" с процом i7 7550U и какой-то новой интегрированной видяхой тянул БЕЗ подлагиваний и с меньшим поеданием электричества.

То есть, если нам нужна переносимость железки, компактность, но работаем мы всё равно от розетки и нам не важна разница между 3 часами и 10 часами от батарейки, то этот тред для вас. На практике при офисно-домашней жизни всё равно надо думать где у тебя зарядник. Какая разница когда об этом думат - через 3 часа или через 8: (хотя при компилении ядра 8 не будет никогда) - всё равно думать надо, а значит зарядник всегда где-то есть и это не нокия 3310 с неделей работы от зарядки.

 

igloev
()

ЛОР семейный: брак в 2020 году

Форум — Talks

Часики-то тикают! Хотелось бы разобраться, стоит ли в 2020 году ходить в ЗАГС? Сколько ЛОРовцев проживает в гражданском браке, сколько в официальном? Сожалеете ли вы, что зарегистрировали ваши отношения официально?

Общество давит, что без семьи человек ничто, оно и понятно, семейный человек считается более ответственным. Боится потерять работу, боится просрочить выплату по кредитам...

Но какую реальную выгоду получает мужчина от штампа в паспорте?

А какую реальную выгоду получает женщина?

1. Твой супруг (супруга) теперь твой самый близкий родственник, официально. Это если чего коснётся, — наследства, имущества, здоровья (тьфу-тьфу-тьфу) и т.д. Ваша законная вторая половинка имеет полное право на принятие решений касательно вас.

2. В семье всё делится поровну, 50 / 50, все ваши доходы, «совместно нажитое» имущество. Всё, что вы заработаете, считается «совместно нажитым», даже если ваша супруг (супруга) не работает.

То, что было ДО брака остаётся только твоим, но то, что было приобретено ПОСЛЕ брака считается совместно нажитым, купля-продажа лично твоей квартиры доставшейся от бабушки по наследству тоже станет таковым.

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

4. Поскольку вы одна семья, то все решения принимаемые касательно имущества требуют согласия супруга (супруги). Купля-продажа вашей недвижимости, приобретённой в браке («совместно нажитое»), требуют согласия. Это же касается в том числе ипотеки.

5. Ваш супруг (супруга) это член вашей семьи и имеет полное право проживать в вашей квартире, даже если вы того не хотите.

На бумаге мы имеем равные права для супругов.

Однако, законодательство устроено таким образом, что женщинам выгоднее разводиться, что подтверждается статистикой в 80% разводов. Тот, кто вкладывает больше, оказывается в проигрышной ситуации.

Или 80% мужчин это все те, кто «бил», «пил», «курил», «изменял», «ругался матом», «сломал деревце»?

Брачный договор? Суды у нас их аннулируют.

# grep -с "расторжение брака" "Семейный кодекс РФ.txt"
87

В сухом остатке мы имеем свод правил «как развести мужа на алименты».

 , , ,

Spoofing
()

Понимание широкой команды, VLIW

Форум — Development

Лорчик, у меня тут вопрос возник, чисто теоретический.

Есть VLIW, архитектура e2k. Если посмотреть ассемблерный код, то команда там будет в фигурных скобках. Это и есть одна широкая команда.

Пример:

{
  nop 2
  istofd,3    %g17, %g18
}
{
  nop 7
  sdivs,5     %g17, %g16, %g16
}

В документации сказано, что одна такая широкая команда выполняется процессором за 1 такт. Справедливости ради, нужно заметить, что здесь ни слова про ядра. Просто сказано, что за один такт.

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

Поскольку e2k не содержит жуткого блока предсказаний, как на обычном х86_64 и не умеет распаралеливать команды сам. За него это делает компилятор. Вот для этого и нужна эта широкая команда - компилятор распаралелил, перетасовал команды и сказал как их надо выполнить.

А теперь вот вопрсик в связи с этим. Получается, что прогу для e2k придется пересобирать для разных e2k процессоров с разным числом ядер?

Допустим прога собрана для Эльбрус 8С, у которого 8 ядер. Значит в фигурных скобках будет много команд. Т.е. широкая команда будет ну очень широкой, широчайшей прям! А запустится ли этот получившийся бинарник, скажем на 4С, у которого только 4 ядра? А на 1С? В смысле без пересборки.

 ,

hibou
()

Цветопередача в браузере

Форум — Desktop

https://i.imgur.com/k8hlihR.png - я абсолютно убежден что правильные цвета в нижних окнах (Opera 69.0.3686.77 Chrome/83.0.4103.116), а вверху (Google Chrome 84.0.4147.89) вырвиглазная цг.

Раньше это решалось в хроме флагом #force-color-profile который надо было установить в sRGB. Но в текущей актуальной сборке его нет. Я так понимаю скоро обновятся и все клоны и так будет везде.

Вот какие вопросы:

1 На оффтопике такая же фигня?

2 Как с этим бороться?

 , , , ,

Suntechnic
()

2K монитор и ThinkPad

Форум — Desktop

Сегодня мне пришёл из Китая переходник DisplayPort -> HDMI. Воткнул я его значит одним концом в ThinkPad x230t, а другим концом в свой монитор и... получил разрешение 1920х1080. А должно быть 2560х1080!

Полез в настройки разрешения KDE, а там нету нужного разрешения, максимум Full HD.

Попытался добавить сам:

$ gtf 2560 1080 60

  # 2560x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 230.76 MHz
  Modeline "2560x1080_60.00"  230.76  2560 2728 3000 3440  1080 1081 1084 1118  -HSync +Vsync

$ xrandr --newmode "2560x1080_60.00" 230.76  2560 2728 3000 3440  1080 1081 1084 1118  -HSync +Vsync
$ xrandr --addmode HDMI1 "2560x1080_60.00"
$ xrandr --output HDMI1 --mode "2560x1080_60.00"
xrandr: Configure crtc 0 failed

Во время выполнения последней команды изображение на мониторе мигает, но остаётся такого же разрешения, как и было.

В чём проблема? Я немного погуглил - сама по себе эта модель ThinkPad должна нормально поддерживать данное разрешение. Так что либо переходник плох (но он же вроде как просто пассивный, не?), либо просто EDID побился из-за переходника (когда я подключал данный монитор к другому ноутбуку по HDMI, то никаких проблем не было, значит монитор всё умеет отдавать), а я не умею его правильно добавлять.

Монитор ничего кроме HDMI не умеет, ThinkPad умеет только VGA и DisplayPort. А поскольку у VGA плохо с поддержкой таких больших разрешений + переходники VGA->HDMI очень дорогие (потому что не бывают пассивными), то DisplayPort->HDMI единственный вариант.

UPD: Вот что может сказать о данном мониторе тот ноутбук, который нормально работает с нужным разрешением: http://pastebin.com/k9AzGJdz

UPD2: Нашёл описание формата modeline, добавил новый режим следующим образом:

$ xrandr --newmode "2560x1080" 185.580 2560 2624 2688 2784 1080 1083 1093 1111 -HSync -VSync
$ xrandr --addmode HDMI1 "2560x1080"
$ xrandr --output HDMI1 --mode "2560x1080"

Монитор успешно переключился на правильное разрешение.

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

UPD3: Насколько я понимаю, мне нужно создать в /etc/X11/xorg.conf.d файлик с таким содержанием:

Section "Monitor"
        Identifier "Monitor0"
        VendorName "LGD"
        ModelName "???"
        Modeline "2560x1080" 185.580 2560 2624 2688 2784 1080 1083 1093 1111 -HSync -VSync
        Option "PreferredMode" "2560x1080"
EndSection

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

Вот что есть в логе иксов:

[     9.227] (II) intel(0): EDID vendor "LGD", prod id 728

Но как указать prod id в качестве условия для конфига, либо как превратить prod id в ModelName?

UPD4: Ему плевать на кофиг почему-то.

$ cat /etc/X11/xorg.conf.d/99-lg-25um58.conf 
Section "Monitor"
        Identifier "Monitor0"
        VendorName "LGD"
        #ModelName "ULTRAWIDE"
        Modeline "2560x1080" 185.580 2560 2624 2688 2784 1080 1083 1093 1111 -HSync -VSync
        Option "PreferredMode" "2560x1080"
EndSection

Новое разрешение всё равно не добавляется, в логах нет ошибок.

 , , ,

KivApple
()

Дачная лаборатория

Галерея — Рабочие места

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

Оборудование (основное):

  • Asus N75SF (Доживает свои дни на даче)
  • HP Envy 13 (Текущая рабочая машинка)
  • 3d-принтер Flying bear P902
  • Паяльная станция Lukey 702. Только сейчас понял, что ей уже 15 лет. Ну и оловоотсос китайский в добавок.
  • Осциллограф: Rigol DS1052E. До 100Мгц я его так и не разогнал, т.к. не было надобности.
  • Камеры: Над осциллом дешевая китайская yoosee с PTZ. Включаем RTSP, режем доступ к облаку на роутере, профит. Еще по участку в роутеры на OpenWRT (их 4 штуки, между ними гигабит, роаминг через 802.11r) воткнуто несколько старых веб камер, отдающие поток через mjpeg-streamer. Недавно добыл для экспериментов две xiaomi dafang на которые ставится прошивка dafang-hacks. Пожалуй, на этом варианте и остановлюсь.
  • Управляющие устройства для homeassistant: Тут сборная солянка. Часть - мои старые проекты на nrf24l01, часть на esp8266 с esphome (некоторые мои платы, некоторые готовые девайсы от sonoff перешитые esphome). Дополнительно по дому выключатели xiaomi aqara и некоторые датчики из этого комплекта, которые работают через zigbee2mqtt. Облака? Шпионаж? Нет, не слышали.
  • Освещение: Из-за потолка под скатом крыши, поставил светодиодные ленты. Ими управляют мои самопальные модули, плавно зажигающие и гасящие их.

Софт:

  • Octoprint (веб-интерфейс для 3д-принтера)
  • cncjs (веб-интерфейс для станка с ЧПУ. Иногда приходится юзать bCNC, так как autolevel’инг в cncjs уже который год никак не допилят)
  • shinobi (сервер видеонаблюдения. Пока только разворачиваю, думаю попробовать его сдружить с аппаратным m2m mfc на exynos в odroid-x2).
  • wireguard - соединяет дом и дачу в одну локальную сеть. С тех пор, как провели оптику пинг от дачи до дома 4 мс.
  • Steam - использую, чтобы иногда поиграться. Видеокарта стоит в сервере дома, на дачу идет стрим. Задержка 20-30мс, что вполне достаточно.
  • Роутеры: Везде исключительно OpenWRT с типовой для меня конфигурацией.
  • Homeassistant - собственно, пульт управления для умнодома.
  • Chef - конфигурацию всех одноплатников под все задачи давно перестал делать руками, решил перейти на chef. Сейчас в процессе активного осваивания рубей и переписывания на нем всего и вся.
  • Jenkins - по расписанию собирает ночью OpenWRT с типовой конфигурацией и деплоит на роутеры. Вот такие вот хардкорные обновления.

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

Самое главное, что есть - удаленное управление, которое позволяет отправить задачи на 3д-принтер/станок с чпу, что займут много времени и шума, а когда приедешь на дачу просто снимаешь готовый результат и не тратишь время.

>>> Просмотр (1920x2530, 1784 Kb)

 , mad skillz, ,

ncrmnt
()

Посоветуйте 60% беспроводную клаву островного типа, желательно - ножничную

Форум — Talks

Ищется мелкая и беспроводная ноутбучная клава. Аля anne pro2 только с коротким ходом клавиш.

НЕ apple magic keyboard

В общем взял пока-что rapoo E9100M.

 ,

pon4ik
()

SCRUM в сфере разработки ПО

Форум — Development

Кто нибудь понимает нафиг это надо и реально использует? Все эти итеративные, спиральные, каскадные модели? Или чем груминг беклога отличается от обзора итогов спринта?

Как я понимаю знание этих методик обязательно для прожект-менеджмента и тим-лидера.

 

Liz812
()