LINUX.ORG.RU

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

ищу качественный топор.

Форум — Linux-hardware

Здравствуйте.
захотелось для десктопа прибрести wi-fi адаптер.
(пока облизывался на новые роутеры, подумалось, а нафига, если не у всех клиентов есть)
понятно, чтоб маленький юсб-свисток с ах имеет мало смысла.
есть варианты с антеннами побольше, совместимые с linux?
п.с. pcie занят, надо usb.

 , wi-fi ax

darkenshvein
()

Как вы организуете удаленный доступ к Линукс-десктопу?

Голосования — Голосования

Кто какое решение использует для удалённого доступа к графическим приложениям на своем Линукс-десктопе или сервере?
Допускаются варианты удаленного доступа либо ко всему десктопу, либо к отдельным приложениям.
(Винда или макось рассматривается в только качестве клиента.)

  1. Не использую (мне не нужно) 229 (42%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. ssh -X (X forwarding) 151 (28%)

    *******************************************************************************************************************************************************************************************************************

  3. VNC (TightVNC, TurboVNC, etc) 149 (27%)

    ****************************************************************************************************************************************************************************************************************

  4. AnyDesk 53 (10%)

    **************************************************************************

  5. TeamViewer 52 (10%)

    ************************************************************************

  6. Xrdp 38 (7%)

    *****************************************************

  7. X2go 38 (7%)

    *****************************************************

  8. NoMachine 16 (3%)

    **********************

  9. Не использую (ни один продукт не подходит) 14 (3%)

    *******************

  10. Ваш вариант 14 (3%)

    *******************

  11. Waypipe (Wayland forwarding) 9 (2%)

    ************

  12. Chrome Remote Desktop 5 (1%)

    ******

  13. Xpra 2 (0%)

    **

  14. Parsec 2 (0%)

    **

Всего голосов: 772, всего проголосовавших: 546

 ,

rupert
()

golang и/или плюсы с релокацией в Берлин

Форум — Job

Да, даже сейчас. Ищем людей в команду, смежную моей. Язык работы: английский.

Можно указать в referral Aleksei. Могу ответить на любые вопросы, если нужно.

Ну и вообще по мелочам есть вакансии открытые

 , , , ,

derlafff
()

Есть ли где-то архив видео Gary Bernhardt/Destroy All Software

Форум — Talks

Например, не могу нигде найти:
https://www.destroyallsoftware.com/talks/useing-youre-types-good
Чел просто взял и удалил его со своего сайта. Видео было публично, но на ютьюбе оно не выложено, и по итогу остались только рассказы в реддите про «ах, какой хороший был слон».

 , , ,

byko3y
()

Масштабирование RDP сессии на 4K мониторе

Форум — Desktop

У меня 4K монитор По работе подключаюсь к большому количеству удаленных RDP-серверов В Windows масштабирование 150% подхватывается на уровне клиента MSTSC. Если сервер ниже 2012, то можно воспользоваться «Удаленный рабочий стол (Майкрософт)» из Windows Store, который умеет масштабировать картинку

В Linux подобным функционалом обладает Remmina. В ней можно указать требуемое разрешение и включить масштабирование экрана.

Но Remmina это всего лишь оболочка, которая работает на базе FreeRDP

В родном KDE-шном KRDC так же используется FreeRDP, можно указать разрешение, но нет возможности масштабирования. Также я не нашел ключи масштабирования в командах FreeRDP

Есть ли возможность заставить KRDC масштабировать RDP-сессию на 4K-разрешение?

 ,

Max77
()

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

Нет, это не тред «подскажите книгу по Сям», таких для начинающих я и сам могу гору насоветовать.

Вопрос следующий: существует ли нормальная доступная бесплатная документация по которой можно изучать C, C++? Официальная документация по другим языкам была бы тоже интересна.


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem
()

Курс лекций по языку Scala (видео)

Форум — Development

Минутка само-рекламы. В этом году я опять веду курс про программированию на языке Scala. Курс уже идет и на него попасть нельзя, но видео с лекций доступны всем желающим. В этот раз курс проходит онлайн, по этому звук и картинка получше чем это было на прошлых итерациях. По плану новые материалы будут выкладываться до конца мая 2022.

Посмотреть можно тут: https://www.youtube.com/playlist?list=PLr3MOSSJVvAFnT_qUrcFr1EpZqjEBKiUl

 ,

maxcom
()

А есть дистры, в которых из коробки разблокировка LUKS через TPM2?

Форум — Linux-install

Чтобы как BitLocker, только LUKS.

По отдельности есть всякие systemd-cryptenroll, clevis итд., но есть ли дистрибутив, в которым всё это либо устанавливается автоматически, либо хотя бы обновляется без ручного вмешательства, с подписанными ядрами и прочим?

 , , , ,

token_polyak
()

Redshift. Добавить бы удобств

Форум — Desktop

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

systemctl --user stop redshift; optirun gimp-2.10 && systemctl --user start redshift

не придумал.

Оно-то и так уже лучше, чем никак, но.

1. Если не закрыть, а свернуть Gimp, оно на место не желтеет.

2. Так хорошо, если так делать только с одной программой. Если так же сделать, например, с Darktable, то будет бардак. Запустил Gimp - разжелтело. Запустил Darktable (а Gimp не закрывал) - оно еще как надо. Теперь закрыл Darktable - оно пожелтело, хоть Gimp еще работает.

Вот же, блин, для Android есть Tasker, с помощью которого подобные вещи делаются просто.

Как бы для взрослого Линукса сделать что-то такое, что проверяло бы, есть ли среди работающих (еще лучше - среди тех, чье окно активно) процессов что-то из списка. Если появилось - чтобы systemctl --user stop redshift, если опять нет - systemctl --user start redshift.

 , ,

Dementy
()

Качественное красноглазие

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

Тут трудно сказать что это за картинка.. скриншот это или рабочее место. Принимаю волевое решение положить это всё же в раздел скриншотов.

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

Перед применением следует завершить все остальные редшифты (не просто выключить).

`redshift -o -t 1000:1000 -l 0.0:0.0`

Чтобы вернуть все взад

`redshift -r`

 ,

bernd
()

Я поседел и дорос до менеджера паролей

Форум — Desktop

Память дырявая, листочки тоже теряются и недавно Firefox тупо перестал работать. Без апдейтов или ещё чего-то такого. Просто всё хорошо, пошёл на кухню жрать готовить, возвращаюсь – а браузер тупо не открывает сайты. Пока возился/экспериментировал, удалил нафиг все конфиги, но это не помогло. Впрочем, где там пароли я всё равно не понял.

Линукс расслабляет в этом плане – я привык что раз настроил и забыл.

Короче – сейчас обживаю ESR версию и восстанавливаю пароли. Грусть-печаль.

Что у нас правильного в масштабе менеджеров паролей? Пока установил KeePassXC, но я раньше таким софтом не пользовался, так что интересно что у нас есть хорошего в плане удобства и надёжности.

 ,

Usruser
()

Трудности перехода. Hex редактор

Форум — Desktop

Посоветуйте более-менее мощный hex-редактор для замены 010 Editor’a (Знаю, есть нативный, но цена как-то высоковата).

Нужно чтобы он

а) был графическим, qt|kde|gtk3

б) поиск/замена текста работала во всех открытых вкладках одновременно

в) имел встроенный скриптовый язык для обработки бинарных данных

На поддержку шаблонов данных и совместимость со скриптами 010 я уже даже не рассчитываю…

Все что я нашел - либо слишком примитивные, или консольные.

Может быть, существует какое-то расширение для vscodium которое так умеет?

 , ,

hargard
()

Вебные аналого-цифровые индикаторы.

Форум — Web-development

По итогам Есть ли что-то типа Grafana только на порядки легче и проще?

Написал ещё тогда и забыл. Ну пусть новогодний подарочек будет.

Продолжаем делать правильный вебдваноль. Как обычно, всё очень маленькое (2.5kb) и шустрое, на plain JS без каких-либо «фреймворков» и прочего многотонного жирного говна. Легко влезает в эмбедщину всякую и т.п.

Итак…

gauge.js

'use strict'

function Gauges( class_name )
{
    var _ = this;
    _.urls = [];
    var gauge = document.getElementsByClassName( class_name );
    for( var j = gauge.length; j--; )
    {
        var e = gauge.item(j);
        var g = JSON.parse( e.getAttribute( "data-conf" ) );
        if( !g ) return;

        g.id = e.id;
        g.title = e.title;
        e.removeAttribute( 'title' );

        var c = g.size / 2;
        var r = 0.8 * c;
        var l = 2 * Math.PI * r;

        for( var i = _.urls.length; i--; ) { if( _.urls[i].url == g.url ) break; }
        if( i < 0 ) _.urls.push( { url: g.url, gauges: [ g ] } );
        else        _.urls[i].gauges.push( g );

        e.innerHTML =
            '<svg width="' + g.size + '" height="' + g.size + '">'
          + '<circle class="gauge-bg" id="' + g.id + '-bg" cx="' + c + '" cy="' + c + '" r="' + r + '" stroke-dasharray="' + ( 2 * l / 3 ) + " " + ( l / 3 ) + '" stroke-dashoffset="' + ( -5 * l / 12 ) + '"/>'
          + '<circle class="gauge-pnt" id="' + g.id + '-pnt" cx="' + c + '" cy="' + c + '" r="' + r + '" stroke="' + g.color + '" stroke-width="' + ( 0.1 * g.size ) + '" stroke-dasharray="0 1"/>'
          + '<text class="gauge-val" id="' + g.id + '-val" fill="' + g.color + '" x="' + c + '" y="' + ( 1.1 * c ) + '" font-size="' + ( 0.45 * r ) + '" text-anchor="middle"></text>'
          + '<text class="gauge-title" x="' + c + '" y="' + ( c + r ) + '">' + g.title + '</text>'
          + '</svg>';
    }

    _.urls.forEach( function( u )
    {
        _.update( u );
        setInterval( function(){ _.update( u ) }, u.gauges[0].int );
    } );
}

Gauges.prototype.set = function( id, min, max, val )
{
    var e = document.getElementById( id + '-pnt' );
    if( !e ) return;

    var r = e.getAttribute( 'r' );
    var l = 2 * Math.PI * r;
    var v = val < min ? min : val > max ? max : val;
    var dash = ( 2 / 3 ) * l * ( v - min ) / ( max - min );

    e.setAttribute( 'stroke-dasharray', [ dash, l - dash ]);
    e.setAttribute( 'stroke-dashoffset', (-5 / 12) * l );

    document.getElementById( id + "-val" ).textContent = val;
}

Gauges.prototype.update = function( u )
{
    var _ = this;
    var req = new XMLHttpRequest();
    req.onreadystatechange = function()
    {
        if( this.readyState != 4 ) return;
        var obj = JSON.parse( this.responseText );
        if( !obj ) return;
        u.gauges.forEach( function( g )
        {
            var v = g.path.split('.').reduce( function( o, k ) { return o && o[k] }, obj );
            _.set( g.id, g.min, g.max, v.toFixed( g.prec ) );
        } );
    };
    req.open( "GET", u.url );
    req.send();
}

gauge.css

@font-face {
    font-family: "7SEG";
    src: url("DSEG7Classic-BoldItalic.ttf") format("opentype");
}

.gauge-pnt {
  fill: transparent;
}

.gauge-bg {
  stroke: #808080;
  stroke-width: 1px;
  fill: transparent;
}

.gauge-val {
    font-family: "7SEG", serif;
}

.gauge-title {
    text-anchor: middle;
    fill: #C0C0C0;
}

Шрифт DSEG7Classic-BoldItalic.ttf ради прикола, можно из дебиановского пакета fonts-dseg взять. Или в формате woff2, он размером поменьше будет.

Как использовать:

<HTML>
<HEAD>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8">
<LINK rel="stylesheet" type="text/css" href="gauge.css">
<SCRIPT src="gauge.js" type="text/javascript"></SCRIPT>
<SCRIPT>
var ups_gauges;
window.addEventListener( 'load', function() { ups_gauges = new Gauges( 'ups' ); }, false );
</SCRIPT>
<STYLE>
a.ups { outline: none; }
body { background-color: #000000; color: #c0c0c0; }
</STYLE>
<TITLE>Gauge</TITLE>
</HEAD>
<BODY>
<a href="ups/voltage.html" class="ups" title="UPS Vin, V"  id="Vin" data-conf='{"url":"data/ups.json","path":"Vin","int":20000,"min":0,"max":300,"prec":0,"color":"#40C040","size":150}'></a>
<a href="ups/load.html"    class="ups" title="UPS Load, %" id="Load" data-conf='{"url":"data/ups.json","path":"Load","int":20000,"min":0,"max":100,"prec":0,"color":"#C040C0","size":150}'></a>
<a href="ups/temp.html"    class="ups" title="UPS T, °C"   id="Temp" data-conf='{"url":"data/ups.json","path":"Temp","int":20000,"min":0,"max":100,"prec":1,"color":"#C0C0C0","size":150}'></a>
</BODY>

data/ups.json

{ "Vin": 193.2, "Load": 40, "Temp": 38.0 }

В аттрибут data-conf элемента который превращаем в индикатор пишем JSON где

url - URL источника данных для индикатора в формате JSON
path - "путь" в JSON до нужной величины, например "sensors.0.temp"
int - интервал обновления в миллисекундах
min - минимальное значение аналоговой шкалы индикатора
max - максимальное значение аналоговой шкалы индикатора
prec - число цифр после запятой для цифрового индикатора 
color - цвет индикатора
size - размер индикатора

У элементов превращаемых в индикаторы должен быть установлен аттрибут id.

В аттрибуте title указывается подпись под индикатором.

Элементам индикаторов одной группы присваеваем один класс и его имя передаём в конструктор new Gauges('class_name') когда нужно создать и запустить индикаторы.

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

Выглядит так: http://stanson.ch/gauges.png

Лицнзия WTFPL

 , копрофагия

Stanson
()

Требуются добровольцы

Форум — Development

Всем бобра!

Как все знают, есть мегапопулярный формат электронных книг HTMLHelp или попросту CHM. Я предпочитаю просматривать такие книги в kchmviewer, который устраивает всем, кроме одного – при открытии большого файла (такого, как wxWidgets-3.1.5) прога надолго задумывается и фризится. С этим мириться было нельзя и я решил запилить асинхронную работу с книгой. И таки я сделал это. Но что-то мне подсказывает, что наверняка есть косяки.

Так о чём это я?

  • Если у вас есть немного свободного времени, а заняться нечем.
  • Есть книги в формате chm.
  • Нет аллергии на Qt.
  • Вы умеете конпелять и собирать проги из сорцов.

То у меня просьба собрать это поделие, пооткрывать им книги и поделиться впечатлениями. Репозиторий https://github.com/u-235/uchmviewer

При сборке нужно переключиться на ветку async-ebook. В qmake нужно добавить флаг USE_ASYNCEBOOK=1, при сборке в cmake – флаг -DUSE_ASYNCEBOOK=ON.

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

 , ,

u-235
()

Armbian на Яндекс станцию

Форум — Linux-hardware

Заблокированную яндекс станцию можно купить за не очень дорого, отсюда и такие бредовые мысли. В станции стоит allwiner r18, в мини a113x. Хочу сконфигурировать u-boot и запустить какой-то минимальной линукс. Насколько это реально и адекватно? Проблем с припаяться и прошить что-то нет. Вроде как оба процессора не редкоземельные и уже есть готовые SBC на них, но есть вопросы не понаделал ли грабель яндекс на своих платах

 ,

daaar
()

асилить емакс?

Форум — General

Постепенно, использование нескольких редакторов под каждую задачу начинает тяготить, таки прихожу к тому что придётся асиливать емакс, т.к. там судя по всему всё необходимое мне есть. Но с чего начать и как это сделать? Стоковые настройки у него ещё кошмарней чем у старых блендеров, и таким образом совершенно неюзабельны. Например, я так и не смог найти как просто выделить участок текста. Но смущает прежде всего обилие неочевидных хоткеев, которые ещё и пересекаются с системными. Мне эти хоткеи неудобны и тяжелы для запоминания, гораздо более удобным оказывается управление с помощью команд с автодополнением, ala blenderовское [space]-меню. Но, насколько я понял, всё это настраиваемо, посему вопрос, есть ли в природе адекватные пресеты и мануалы как всё это запилить с нуля в более-менее юзабельное состояние?

 ,

thunar
()

Как в Astra Linux назначить комбинацию клавиш для ввода символа «₽»?

Форум — Desktop

В своё время задал этот вопрос на форуме Astra Linux, но там посоветовали какой-то способ для осьминогов:

Вот попробуйте так: Ctrl+Shift+U 20 b d Enter

Может есть менее замороченный способ?

 ,

Mischutka
()

Три проблемы Вайланда, как фиксить?

Форум — Desktop

Гном 41

  1. Переключение раскладки происходит только со второго раза, я нажимаю shift-alt нет реакции, еще раз нажимаю происходит переключение. (при переключении на X11 все с первого раза переключается)

  2. Зависание мыши при открытие програм, например файрфокс или хром или чтото другое большое типа блендер - мышка зависает на месте на долю секунды.

  3. Буфер обмена всегда ломается буквально через пару десятков копирования(минут 5-10 активного написания текста), между программами на нативном вайландом и программами вод xWayland, что в итоге буфер обмена в xWayland перестает работать а в Wayland продолжает. (не лечиться до перезапуска сессии)

 ,

svv20624
()

shex - мой просмотрщик двоичных файлов. С++, Vulkan, glfw3

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

Сегодня, наконец, допилил функциональность и решил выложить исходники.

Функциональность минимальная. Можно двигать клавишами вверх, вниз, page up, page down, [shift] + F3-F9, колесом мыши, а так же мышкой двигать линейку прокрутки слева.

Просто потихоньку изучаю Вулкан. Гуй встроен в шейдер.

Всем хорошего дня!

https://github.com/alexkh/shex

 , , , ,

svyatozar
()

Говорили что Перл старый, ни на что не способный язык. Проверим?

Форум — Development

Говорили что Перл старый, ни на что не способный язык. Проверим?

Задачка:

Необходимо для каждой пары слов получить новое слово, так, чтобы окончание первого совпадало с началом второго, например, шлакоблок + окунь = шлакоблокунь. Это слово надо вывести в стандартный поток вывода.Если слова возможно соединить несколькими способами, надо выбрать тот, что обеспечивает максимальную общую часть, например папа + папаха = папаха (а не папапаха). Необходимо написать последнее условие.

Я просто взял практически первое попавшаяся задание.

На Перле программа заняла 5 строк не считая ввода-вывода. С вводом-выводом - 7 строк.

А как у вас? На ваших Супер-пупер языках?

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

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

 , , , ,

kompospec
()