Жил я себе на арче, наслаждался терминальным ЮИ, потому-то ГУИ в XWayland выглядит как последний Uncharted на ванильной плойке. Но в один день случайно снес себе пол /
и было как-то лень все восстанавливать. На арче сидел сколько себя помню, поэтому решил посмотреть, как там дела в других легковесных дистрибутивов. Глаз зацепился за Void, потому что это тот же самый арч, но без systemd
. Заодно решил осилить HiDPI на Х и пересесть на него, чего раньше не очень удавалось. Ибо емакс в терминале это как корочки от хлеба.
В общем, пришлось менять весь стек: sway + waybar + bemenu
на bspwm + polybar + rofi
. Ну и плюсом picom
, чтобы спецэффекты были, но только чуть-чуть. А это означает переписывание конфигов и wal
темплейтов. Более того, так как ручки то у меня кривые, хотелось автоматизировать все, начиная от бутстрапа системы и заканчивая расстановкой конфигов в нужные места.
В общем, после трёх недель кряхтений, получилось набросать минимум всего, что нужно для полноценной работы на десктопе. Включая вот этот вот бутстрап, который поднимет базовую систему с full disk encryption и ещё парочку скриптов, которые поставят все зависимости и настроят Х с HiDPI и WM со всеми перделками. Написано все это, конечно же, на fish shell. Потому что а на чем ещё. Теперь то можно удалять и двигать все, что не приколочено (а ничего не приколочено) и не бояться, что все сломается и придётся настраивать все ручками заново.
Если по софту, который использую, то это:
- Kitty в качестве терминала, потому что GPU рендеринг и лигатуры.
- BSPWM как WM. Не уверен, почему не i3. Вроде как он давно заброшен и не пилится. Даже отступы от краев экрана настроить нельзя, только если i3-gaps ставить.
- Fish, конечно же. Всеми любимый.
- Doom Emacs, где я пишу в основном весь код. И Neovim, если нужно что-то быстренько в файлике поделать.
- Polybar для вот этих вот штучек сверху. Выглядит прикольно, пол дня настраивал.
- Ну и rofi, чтобы запускать всякое разное. Тоже wal шаблон писал кучу времени, но я без понятия, как его зафоткать. Потому что он горячие клавиши перехватывает.
- Tdrop ещё, чтобы эмулировать scratchpad’ы из Sway (на первом скрине он).
Все это, как и подобает, лежит на гитхабе:
- Дотфайлы тут. Там же и бутстрап для зависимостей и конфигов.
- Бутстрап базовой системы тут, если кому интересно.
Мой прошлый сетап я тут не кидал, но его можно найти в /r/unixporn. Там тоже аниме, но только Хомура.
>>> Просмотр
(3840x4320,
2062 Kb)
Breeze10 - это форк украшения KDE Breeze Enhanced со следующими изменениями:
1. Возможность настроить непрозрачность строки заголовка.
2. Удален разделитель между строкой заголовка и окном.
3. Непрозрачность и переопределение непрозрачности добавляется в свойства списка исключений.
4. Шрифт строки заголовка устанавливается независимо от настроек
шрифта KDE (для использования вне KDE).
>>> Просмотр
(1600x900,
899 Kb)
С помощью свободного движка INSTEAD создана новая игра «АРХИВ».
Игра выполнена в жанре интерактивной литературы с текстовым управлением. Содержит иллюстрации, музыку и звуковые эффекты.
Исходный код игры (Lua) распостраняется по лицензии CC-BY 3.0.
Подготовлены сборки для ОС Linux и Windows. Для остальных ОС можно скачать интерпретатор INSTEAD и архив с игрой отдельно или попробовать запустить в браузере.
> осмотреть себя
Ты — геолог-разведчик объектов дальнего космоса. Пробивающаяся седина в бороде, усталый взгляд и морщины на лице выдают в тебе мужчину средних лет.
Пол года ты работал по контракту на "Димидии", занимаясь разведкой месторождений урана. Но теперь контракт завершён.
Пора возвращаться домой.
Приветствую. Случилась следующая проблема. После установки на флешку системы «Kali Linux» и разделении в терминале места для хранения файлов ( а именно после ввода нескольких команд: fdisk -l; mkdir -p; mount/dev/; echo «/union» > /mnt/.../persistence.conf; unount /dev ) система начала дико тормозить, плюс система видит диски, относящиеся к windows. Я в этом деле дилетант, поэтому прошу помощи. Флешка имеет usb 2.0 (может поэтому все тормозит?). Стоит ли покупать SSD и ставить уже туда Linux?
Продолжаю свои эксперименты с VPN между узлами.
Решил попробовать настроить ipsec c авторизацией по сертификатам.
Ситуация:
RRAS на Win Server 2016 с белым ip. В роли ipsec ike2 vpn сервера.
CentOs 7 + strongswan за NAT. Крутится на Hyper-V 2016. Как клиент.
На текущий момент соединение устанавливается, клиент получает адрес и… на этом все. Трафик не ходит. Подсети left/right прописаны. При обращении к хостам в этих сетях, например, ping, тишина. Со стороны сервера «превышен интервал…»
Со стороны клиента «100% packet loss»
Есть у меня подозрение, что я чего-то не доделываю.
IPSEC тема мутная.
К слову, виндовый клиент соединяется и работает без проблем.
Гугол на эту тему не помог. В основном, скопипащенные друг у друга руководства по настройке strongswan, как сервера.
Может есть какие идеи?
Или забить и не стоит упираться)?
P.S. openvpn,pptp, softether в такой конфигурации настроить получилось.
Конфиг strongswan:
Пытался выложит, какую-то кашу отображает))) LORCODE не работает…
Дано: множество мелких радиодеталей. И очень много разных деталей и номиналов. Каждого типа отнсительно немного но вот типов - тьма.
Как быть? Коробочек с 100500 мелкими ящичками не видел в продаже… Те варианты которые видел содержат ну 50-100 коробочек.
Сообщение удалено a1batross по причине 4.3, 4.2 (-7)
a1batross, за что -7 здесь? Там -2 максимум. Я бы ещё понял, если был троллем со стажем. Я тут один из самых законопослушных. Но тут в пятницу гномеров немножко палочкой ткнул и на тебе! Беспредел, верни скор. Сам то накидывал на вентилятор: раз, два, три. Придумайте более оригинальный способ убить ресурс. Он на подколах и держится, для всего остального есть opennet.
Можно ли с помощью hardcopy получить больше чем 24 строки вывода со скрина? Если да то как?
Помогите, пожалуйста!
После переноса на ubuntu 20 не работает часть функционала
На новом серваке версия perl 5.30
на старом perl 5.26
При попытке скачать файл с сайта, ошибка:
[2020-05-05 15:16:43.21482] [19566] [error] [a03a6c48] Invalid
path at /usr/share/perl5/Mojolicious/Static.pm line 47.
самописная библиотека /var/www/site.ru/lib/SiteUpload.pm:
package SiteUpload;
use Mojo::Base 'Mojolicious';
use Util;
use Data:
umper;
has conf => sub { do './conf/app.conf' };
has db => sub { Util->db(do './conf/mysql.conf') };
sub startup {
my $self = shift;
my $conf = $self->conf;
$self->static ->paths([$conf->{'path'}->{'data'}]);
$self->renderer->paths([$conf->{'path'}->{'tmpl'}]);
$self->log( Mojo::Log->new( %{$conf->{'log'}} ) ) if $conf->{'log'};
$self->renderer->encoding('cp1251');
$self->types->type(html => 'text/html; charset=windows-1251');
$self->plugin('SiteUpload::Helpers');
my $r = $self->routes;
$r->route("/load/:secret/:file", secret => qr/[\w0-9]+/, file => qr/.*/)->to("main#download"
;
for my $b ($r->under->to('user-auth#check', layout => 'default')) {
$b->route('/')->to('main#welcome');
$b->route('/action/')->to('main#action');
$b->route('/deleted')->to('main#deleted');
# $b->route('/block/:id/', id => qr/\d+/)->to('main#block');
# $b->route('/unblock/:id/', id => qr/\d+/)->to('main#unblock');
# $b->route('/free/:id/', id => qr/\d+/)->to('main#free');
}
for my $b ($r->under('/admin')->to('admin-main#enter', layout => 'admin')) {
$b->route('/' )->to('admin-main#list');
$b->route('/full/list')->to('admin-main#full_list');
$b->route('/:remoteuser', remoteuser => qr/[0-9A-Z_\-\.]+/i)->to('admin-main#user_list');
# $b->route('/:command/:id', id => qr/\d+/)->to('admin-main#do_command');
}
}
1;
новая библиотека /usr/share/perl5/Mojolicious/Static.pm:
package Mojolicious::Static;
use Mojo::Base -base;
use Mojo::Asset::File;
use Mojo::Asset::Memory;
use Mojo:
ate;
use Mojo::File qw(curfile path);
use Mojo::Loader qw(data_section file_is_binary);
use Mojo::Util qw(encode md5_sum trim);
# Bundled files
my $PUBLIC = curfile->sibling('resources', 'public');
my %EXTRA = $PUBLIC->list_tree->map(
sub { join('/', @{$_->to_rel($PUBLIC)}), $_->realpath->to_string })->each;
has classes => sub { ['main'] };
has extra => sub { +{%EXTRA} };
has paths => sub { [] };
sub dispatch {
my ($self, $c) = @_;
# Method (GET or HEAD)
my $req = $c->req;
my $method = $req->method;
return undef unless $method eq 'GET' || $method eq 'HEAD';
# Canonical path
my $stash = $c->stash;
my $path = $req->url->path;
$path = $stash->{path} ? $path->new($stash->{path}) : $path->clone;
return undef unless my @parts = @{$path->canonicalize->parts};
# Serve static file and prevent path traversal
my $canon_path = join '/', @parts;
return undef if $canon_path =~ /^\.\.\/|\\/ || !$self->serve($c, $canon_path);
$stash->{'mojo.static'} = 1;
return !!$c->rendered;
}
sub file {
my ($self, $rel) = @_;
# Search all paths
my @parts = split '/', $rel;
for my $path (@{$self->paths}) {
next unless my $asset = _get_file(path($path, @parts)->to_string);
return $asset;
}
# Search DATA
if (my $asset = $self->_get_data_file($rel)) { return $asset }
# Search extra files
my $extra = $self->extra;
return exists $extra->{$rel} ? _get_file($extra->{$rel}) : undef;
}
Модуль загружен.
# cat /proc/net/netfilter/nf_log
0 NONE ()
1 NONE ()
2 nf_log_ipv4 (nf_log_ipv4)
3 NONE ()
4 NONE ()
5 NONE ()
6 NONE ()
7 NONE ()
8 NONE ()
9 NONE ()
10 NONE ()
11 NONE ()
12 NONE ()
# lsmod | grep -i log
xt_LOG 16384 0
nf_log_ipv4 16384 0
nf_log_common 16384 1 nf_log_ipv4
x_tables 45056 7 xt_conntrack,nft_compat,xt_TRACE,xt_LOG,xt_tcpudp,ip_tables,xt_limit
Счетчик наполняется.
# iptables -t raw -n -L -v
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
756 63504 TRACE all -- * * 192.168.56.211 0.0.0.0/0
С rsyslog все в норме. Ставишь -j LOG
- работает, ставишь -j TRACE
- в логах пусто.
Система такая:
# cat /etc/*-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
# uname -r
4.19.0-8-amd64
Вроде накосячить негде, а не работает.
/bin/bash ./libtool –tag=CXX –mode=compile g++
-DHAVE_CONFIG_H -I./include -I./include -I. -I. -Wall -Wformat
-g -O2 -fvisibility=hidden -c -o src/mp4track.lo src/mp4track.cpp
libtool: compile: g++ -DHAVE_CONFIG_H -I./include -I./include
-I. -I. -Wall -Wformat -g -O2 -fvisibility=hidden -c
src/mp4track.cpp -fPIC -DPIC -o src/.libs/mp4track.o
src/mp4track.cpp:911:8: warning: identifier ‘nullptr’ is a
keyword in C++11 [-Wc++0x-compat]
if ( pFtypAtom == nullptr )
^
src/mp4track.cpp: In member function ‘mp4v2::platform::io::File*
mp4v2::impl::MP4Track::GetSampleFile(MP4SampleId)’:
src/mp4track.cpp:911:26: error: ‘nullptr’ was not declared in
this scope
if ( pFtypAtom == nullptr )
^
src/mp4track.cpp:918:23: warning: unused variable ‘majorBrand’
[-Wunused-variable]
const char *majorBrand =
pFtypAtom->majorBrand.GetValue();
^
GNUmakefile:1318: recipe for target ‘src/mp4track.lo’ failed
make: *** [src/mp4track.lo] Error 1
root@ubuntu:/usr/local/src/mp4v2#
Решил попрактиковаться в использовании nmap и хочу уточнить один момент, после сканирования узла, в «Детали узла/TCP Sequence» у параметра «Сложность» написано «Good luck!», к чему относится пожелание удачи?
Его как-то можно запустить? Про вайн я так понимаю можно даже не думать, а виртуалка с виндой 10 подойдёт? Или может с мак осью? Что из этого (винда10 / макось) работает (для запуска adobe софта) и что меньше будет нагружать комп?
Нужна возможно периодически (~ раз в неделю) запускать разные проги от adobe
Взываю в первую очередь к тов. alpha. Что тут происходит? Вот в этом треде удалили мой коммент по причине 4.8 дискуссия не на русском языке. Вот текст моего сообщения:
Ну сколько можно?
В самом деле, сколько можно пользоваться сраным третьегномом? Почему бы не заюзать нормальную оболочку, где это можно нормально настроить один раз и забыть про пердолинг с раскладками (и прочим юзабилити)?
Я все таки читать умею. Где тут «не русский язык»?
Приветствую,
В двух словах как я вижу работу Reverse proxy… она основана на ‘принятии’ пакетов из из внешней среды, и перенаправлении их во внутреннюю при этом применяя(иногда заранее настроенные а иногда и нет) необходимые правила/политики. Собственно на чем и основана работа всех балансировщиков нагрузок.
VirtualHost работает аналогичным образом… принимает трафик из внешней среды и направляет его опять же применяя заранее настроенные правила уже соответствующим ресурсам..
Cобственно в чем основное(корневое) отличие в работе данных технологий?