LINUX.ORG.RU

Сообщения utf8nowhere

 

Android: SOCKS5 client

Форум — Mobile

Поднимаю SOCKS5-прокси на SSH-сервере (ну типа ssh -D 0.0.0.0:PORT localhost), curl с хоста или виртуалка с Win10 дружат с socks5://SSH_SERVER:PORT нормально.

Перепробовал кучу разных SOCKS5-клиентов на Android, когда запускаю ssh с флагом -v, вижу

debug1: Connection to port PORT forwarding ... requested.
debug1: channel 1: new [dynamic-tcpip]
debug1: channel 1: free: direct-tcpip: nchannels N

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

Но. Нифига не работает. В браузере открытие сайтов отваливается по таймауту, разные другие приложения говорят, что они оффлайн. SOCKS5-клиенты показывают скорость обмена с сервером в основном на нуле, иногда по 100-200 byte/s, на SSH-сервере валятся редкие сообщения про new [dynamic-tcpip]/free: direct-tcpip.

В чём может быть проблема?

 , ,

utf8nowhere
()

Срок за использование TOR/VPN?

Форум — Talks

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

Так находясь по месту своего проживания в квартире и используя принадлежащий ему персональный компьютер с доступом к сети «Интернет», К. осуществил поиск вредоносной компьютерной программы, выражающейся в невозможности однозначной идентификации пользователя сети «Интернет» и его сетевой активности, в том числе провайдером, предоставляющим доступ к сети «Интернет» и заведомо для него предназначенной для нейтрализации средств защиты компьютерной информации провайдеров, направленных на однозначную идентификацию пользователя в сети «Интернет».

http://oktiabrsky.tms.sudrf.ru/modules.php?name=press_dep&op=1&did=378

 ,

utf8nowhere
()

Борщ со скидкой

Форум — Talks

Кому-нибудь в ДС2 нужен бумажный Крис Окасаки «Чисто функциональные структуры данных» фублей за 500? Состояние: как новый.

 , , , ,

utf8nowhere
()

Про boilerplate

Форум — Development

Можно ли сказать что весь код работы с памятью (выделение-освобождение) в программе на C, только если эта программа не является менеджером памяти, является boilerplate-кодом?

Вопрос серьёзный, не тральный.

 ,

utf8nowhere
()

Пропаганда фошизма в нике

Форум — Linux-org-ru
utf8nowhere
()

Когда графику наконец перенесут в ядро?

Форум — Desktop

Где ей самое место.

Я ведь правильно понимаю, что сейчас при перемещении мыши происходит следующее:

  • Ядро ловит прерывание, пишет читающим из /dev/input/... инфу о перемещении мыши и пробуждает ждущих данных с соответствующего дескриптора (Xorg-сервер). Это первое переключение контекста.

  • Xorg, прочитав о перемещении мыши, дёргает drmModeMoveCursor чтобы переместить изображение курсора на экране. drmModeMoveCursor — это переключение контекста обратно в ядро.

  • Далее, Xorg-сервер посылает клиентам событие о перемещении мыши, записывая в сокет — опять переключение в ядро.

  • Клиенты читают из сокета — опять переключения контекста.

В общем, куча переключений контекста, поэтому графика заметно тормозит, что порождает темы вроде Windows работает плавнее и четче

Почему многие плюются от микроядер, говорят, что FUSE — это игрушка и реальные ФС должны быть в ядре, но при этом к идее всунуть графический сервер/композитор в ядро относятся отрицательно?

 , ,

utf8nowhere
()

Почему линукс синхронизирует состояние NumLock LED между клавиатурами, но не синхронизирует CapsLock LED?

Форум — General

Кстати, несмотря на синхронизацию NumLock LED между клавиатурами, на второй клавиатуре при горящем NumLock LED, эффекта как при включённом numlock, не наблюдается

 , , ,

utf8nowhere
()

Ctrl+<Key> работает, Alt+<Key> работает, Ctrl+Alt+<Key> работает в одном случае из 20

Форум — Linux-hardware

(Почти) перестали восприниматься клавиатурные комбинации типа Ctrl+Alt+T, Ctrl+Shift+T, Ctrl+Alt+стрелки и т.п. При этом Ctrl+T, Sifht+T, Alt+T работают.

Что это может быть? Глючит контроллер клавиатуры? Единственное на что падают подозрения: мазал пару дней назад кулер лэптопа маслом для швейной машинки, но масло не должно проводить и к тому же кулер находится снизу, а клавиатура, матплата и вообще всё выше него.

Вот как реагирует xev на нажатие Ctrl:

KeyPress event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8059683, (1333,757), root:(1334,819),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8059774, (1333,757), root:(1334,819),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Alt:

KeyPress event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8135282, (765,666), root:(766,728),
    state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8135323, (765,666), root:(766,728),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

и Ctrl+Alt:

KeyPress event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8184123, (967,625), root:(968,687),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8184733, (967,625), root:(968,687),
    state 0x4, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8184736, (967,625), root:(968,687),
    state 0xc, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8184837, (967,625), root:(968,687),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8184840, (967,625), root:(968,687),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 38, synthetic NO, window 0x5e00001,
    root 0x1ca, subw 0x0, time 8185149, (967,625), root:(968,687),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Правый Ctrl ведёт себя нормально.

Свопнул левые Ctrl и Win. Так всё ОК.

 , ,

utf8nowhere
()

Торвальдс плохой программист?

Форум — Talks

Как известно, Торвальдс утверждал (не дословно!):

Bad programmers worry about the code. Good programmers worry about data structures and their relationships.

А ещё:

Talk is cheap. Show me the code.

Получается, он плохой программист? Почему он требует показать code, а не data structures?

Решение: Торвальдс плохой программист? (комментарий)

 language-lawyer

utf8nowhere
()

Раскладки в GNOME 3: кто в лес, кто по дрова

Форум — Desktop

В Settings/Region & Language/Input Sources указаны 2 раскладки, в ibus-setup/Input Method только один.

Это нормально?

 , ,

utf8nowhere
()

Кто там корутины хотел?

Форум — Development

 

utf8nowhere
()

О размере стандарта C++

Форум — Development

Часто приходится слышать критику типа «ко-ко-ко, C++ сложный язык, стандарт распух более чем на полторы тыщи страниц, это нивазможна выучить!!!11».

Как известно, стандарт условно делится на Core («сам язык C++») и Library-части (стандартная библиотека). Это не на 100% строгое разделение, «сам язык» знает кое-что о стандартной библиотеке (std::size_t, std::ptrdiff_t, std::initializer_list и т.д.), поэтому я говорю «условно делится».

Стандарт начинается с Core-части, после идёт описание библиотеки. Вот табличка страниц, с которых начинается Library-часть («Library introduction») в разных версиях стандарта:

  • C++98 — стр. 311
  • C++03 — стр. 317
  • С++11 — стр. 424
  • C++14 — стр. 414
  • C++17 — стр. 445

итого, за почти 20 лет «сам» C++ распух чуть более чем на 100 страниц, на треть от C++98.

Всё остальное распухание с 776 до 1618 страниц приходится на стандартную библиотеку.

В чём сложность осилить 100 страниц за 20 лет? Ладно, там не только добавляли, но и меняли уже имеющееся. Страниц на 200-250 новшеств может набралось.

Или кто-то всерьёз под изучением языка понимает зубрёжку списка функций и их аргументов из его стандартной библиотеки?

 , ,

utf8nowhere
()

В C++20 представление знаковых будет только в two's complement

Форум — Development

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

Нет, signed overflow defined не сделали.

 , ,

utf8nowhere
()

Какую универсальность добавила systemd

Форум — Admin

если наличие/поведение юнитов всё так же зависит от опакечивателей?

Дисклеймер: этот тред не против systemd, а против маркетоидного бреда вместо перечисления реальных преимуществ/недостатков.

В общем, есть docker. В Debian/Ubuntu он ставится вместе с docker.socket-юнитом, так что даже при не запущенном докере он будет автоматически запущен при обращении к его сокету.

В centos никакого docker.socket нет, docker.service нужно стартовать руками.

Ну и как тут systemd помог условному админу чувствовать себя одинаково в любом дистрибутиве?

 ,

utf8nowhere
()

В C++20 появятся виртуальные функции!

Форум — Development

Несколько часов назад в драфт стандарта были смёржены коммиты, определяющие термин «виртуальная функция». До сих пор такого определения не было.

 

utf8nowhere
()

clang перенимает наклонности оффтопика

Форум — Development

Помнится, в Windows были (есть) селективные хаки, чтобы отдельные багнутые приложения, неправильно использующие WinAPI, могли работать. Например, SimСity.

Держу в курсе, что в clang тоже такое есть.

https://github.com/llvm-mirror/clang/blob/f4426c04a24f3f37369101f3a92898dd2e2...

// HACK: We've got an exception-specification
//   noexcept(noexcept(swap(...)))
// or
//   noexcept(noexcept(swap(...)) && noexcept(swap(...)))
// on a 'swap' member function. This is a libstdc++ bug; the lookup
// for 'swap' will only find the function we're currently declaring,
// whereas it expects to find a non-member swap through ADL. Turn off
// delayed parsing to give it a chance to find what it expects.

 ,

utf8nowhere
()

Как работает графический дисплейный менеджер для X?

Форум — General

Проще оказалось проверить самому. Да, по X-серверу на пользователя.

Я так понимаю, он сам работает в иксах.

Что происходит при логине/переключении пользователя? Стартует другой X-сервер, которому отдаётся контроль над VT? Каждому пользователю запускается по X-серверу?

 , ,

utf8nowhere
()

В C++20 могут появиться макросы, как в Rust

Форум — Development

...если комитет примет предложение представленное в этом пропозале.

Предлагается добавить «нативные» C++-макросы.

Из пропозала

So what would one of these native C++ macro functions look like?

 // Macro functions look just like a free function except for the # at the
 // end of the function name. Note that the # counts as part of the identifier,
 // so return# does not collide with the return keyword.
 template<class T>
 inline int return#(T v)
 {
	 if(v > 0)
		return -> v; // control flow keyword + ’->’ means it affects the
	 // calling function, not this macro function
	 if(v < 0)
		break ->;
	 // Also this break is executed in the calling function
	 // If break isn’t valid at the point of use
	 // in the calling function, it will not compile
	 // We can inject variable declarations into the calling function
	 // with typename + ’->’. This is useful for RAII triggered cleanup
	 // i.e. these get destructed when the scope of the call point exits.
	 // Note that the actual name of the variable injected will
	 // be some very unique identifier which cannot collide with any
	 // other variable, including those injected by other macro functions
	 int -> a = 5;
	 // Otherwise this function macro has a local scope, and code
	 // executed here remains here
	 size_t n = 0;
	 for(; n < 5; n++)
	 {
		 // We can also refer to variables previously injected into the
		 // caller’s scope by this macro function like this.
		 // This lets one keep state across invocations of the macro function
		 (-> a) ++;
	 }
	 // This returns a value from this function macro to the caller
	 // If you wrote return -> a, that would be a compile error
	 // as there is no variable called a in this scope.
	 return (-> a);
}

Такие макросы могут быть полезны для реализации некоторых фич, требующих вставки кучи служебного кода, например, корутин или оператора try, без внесения модификаций в Core Language, чисто на уровне библиотек.

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

 , ,

utf8nowhere
()

TCP SYN/ACK/RST-туннель

Форум — General

Пробовал ICMP-туннелирование для обхода учёта трафика — не прокатило.

Другой метод, который может быть использован для тех же целей — это передача данных в payload TCP SYN/ACK-пакетов. Не нашёл только готовых реализаций такого туннеля. Может кто знает?

(хотя если учитывается любой payload IP-пакетов, то учёт трафика не обойти никак).

 , ,

utf8nowhere
()

Выгрузить nouveau и восстановить текстовый VGA-режим

Форум — General

С драйвером nouveau GPU лочится при перезагрузке и вешает ядро.

Можно передать параметр ядру nouveau.modeset=0, но тогда nouveau вообще не загрузится и иксы будут работать с VESA-драйвером.

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

Попробовал делать как описано в https://nouveau.freedesktop.org/wiki/KernelModeSetting/, а именно:

echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau

Драйвер, конечно, выгружается и при этом изображение с монитора пропадает (вообще пропадает сигнал с кабеля и монитор засыпает). Хотелось бы вернуться в текстовый VGA-режим. На echo 1 > /sys/class/vtconsole/vtcon0/bind — 0 реакции. Монитор не видит сигнала на кабеле.

Пробовал делать как описано в https://www.kernel.org/doc/Documentation/fb/fbcon.txt, а именно сохранить состояние VGA (vbetool vbestate save) и восстановить его:

vbetool vbestate restore < <vga state file> 
echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau

После выполнения первой команды режим меняется, но, похоже, не на текстовый VGA, т.к. я вижу какой-то мусор из пикселей в верхней части экрана и всё. rmmod nouveau вообще уходит в D-state.

 ,

utf8nowhere
()

RSS подписка на новые темы