sed удалить квадратные скобки вместе со значением
На ум не приходит ничего кроме, но внутренний голос говорит что можно сделать проще и лаконичнее:
echo [123]Труба шатал | sed -e 's/[[:digit:]]//g' -e 's/\[//' -e 's/\]//'
На ум не приходит ничего кроме, но внутренний голос говорит что можно сделать проще и лаконичнее:
echo [123]Труба шатал | sed -e 's/[[:digit:]]//g' -e 's/\[//' -e 's/\]//'
Что-то, короче, скучно мне стало, и решил я прикупить какого-нибудь старого железа, чтобы поиграться. Окунуться, так сказать, в былое, во времена православных юниксов и легендарных архитектур. Что мне пока пришло в голову:
Короче, лор. Поделитесь, какие вы знаете красивые визуально и/или архитектурно железки из древних времен? Чем они вам нравятся? Что можно такого купить, чтобы попробовать, не знаю, сервер там собрать да домашнюю страничку захостить, или просто поиграться со старой оболочкой. Ну и отдельный вопрос, что из современного софта на этом всё еще может работать.
Тестовый комп - i5-8400, GPU UHD 630, driver intel_extreme, wifi intel N-6235, monitor 24"/hdmi cable, screenmode 1920х1080х32, ssd NVMe WD SN750, bios CSM/legacy enabled
Удалось наконец заставить это чудо снова работать, причем под всеми тремя BSD сразу.
В процессе написал очередную статью про тяжкую жизнь и работу, в этот раз под NetBSD. На ноутбуке да.
На скриншоте NetBSD 9.3, Xfce4 с легким закосом под OS/2 и налетом SGI Irix, ну все как обычно.
Ну и самая последняя версия Intellij Idea Community Edition, скачанная буквально вчера.
Выпущена новая версия свободной САПР FreeCAD.
Главные новшества:
Помимо того, завершены первые две фазы из пяти по исправлению печальной известной проблемы с наименованием топологии. В третьей фазе ожидается временное замедление работы программы, именно поэтому отсечка релиза сделана по завершению второй фазы. Оптимизация новых алгоритмов будет выполняться в последней, пятой фазе. К выпуску следующего крупного обновления, 1.0, работа будет полностью завершена.
Проект постепенно переходит от хаотичной модели разработки к более управляемой, процессы постепенно документируются и автоматизируются, появилась начальная версия дорожной карты развития.
Кроме того, 11-13 августа в Ванкувере (Канада) пройдёт хакатон, на котором соберутся как активные участники проекта, так и новички. Приглашаются все желающие поучаствовать в разработке.
>>> Подробности (freecad.org)
Продолжаю хорошую традицию охоты за дичью.
В этот раз в качестве дичи выступает гипервизор VMM в OpenBSD. Да, и в наш загончик наконец завезли аппаратную виртуализацию.
На скриншоте работающий Skypе запущенный в Ubuntu 22, которая крутится на OpenBSD-хосте. Отрисовка интерфейса организована через проброс X-сессии.
Традиционная статья с новыми приключениями неуловимых тут (teletype.in).
Там еще скриншоты и рассказано про запуск более банального Chromium.
Сама VMM стабильна как кирпич и спокойно переживает suspend/resume на ноутбуке где весь этот цирк и развернут.
Здравствуйте, уважаемые разработчики.
Символы кириллицы отображаются, пусть и пока вместе с японским. Символы деванагари пока - нет, как я ни пыталась их впихнуть.
Ну и только что собранный Xephem 3.7.7. Пусть и не ясно пока, зачем он мне нужен. :)
Да, и спасибо большое тем, кто давал советы.
Операционная система - OpenBSD 7.3. Среда рабочего стола: CDE.
Добрый день, уважаемый разработчик. Я - слесарь, а не программист, поэтому приношу прощения за откровенно идиотские вопросы.
Я сумела собрать и запустить CDE (Common Deskton Environment) на OpenBSD 7.3, следуя Вашим инструкциям. Я хотела бы уточнить, как провести поддержку символов деванагари(хинди) и кириллицы, и возможно ли это вообще.
И не подскажите каким образом можно вообще русифицировать или непализировать консоль (/dev/ttyC0..ttyC6), т.е. включить поддержку символов Unicode. А то на другом окружении рабочего стола (i3) у меня есть поддержка хотя бы кириллицы, а в CDE - только японского (собирала именно версию под японский в надежде разобраться, где лежит поддержка), а в терминале - только английского. Символы кириллицы отображаются в двух последних случаях некорректно. А что делать с символами деванагари я вообще не могу елка.
Насколько я поняла, необходима именно поддержка шрифтов в CDE, и, похоже, их можно вязть от xenodm (?), вот только где их прописать и взять?
До того следовала инструкциям с сайта [opennet.ru](http://www.opennet.ru/base/rus/cyr_openbsd.txt.html) Но нигде нет инструкции для текущей версии OpenBSD.
Команда wsfontload выдает wsfontload: WSDISPLAYIO_LDFONT: Invalid argument. Я почитала форумы и попробовала отключить inteldrm, но тогда не добилась не то, что наличия кириллицы, вообще резко упало разрешение экрана и не запустился ни xenodm, ни dtlogin.
.profile file:{
# $OpenBSD: dot.profile,v 1.8 2022/08/10 07:40:37 tb Exp $
#
# sh/ksh initialization
PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
export PATH HOME TERM
export LANG=ru_RU.UTF-8
export LC_ALL=ru_RU.UTF-8
export LC_MESSAGES=ru_RU.UTF-8
set -o vim
}
rc.conf.local{
pkg_scripts=
localhost$ cat /etc/rc.conf.local
#pkg_scripts=dtlogin cmsd
ftpd_flags=
inetd_flags=
pkg_scripts=cmsd
portmap_flags=
sndiod_flags=-s default -m play,mon -s mon
xenodm_flags=YES ##NO for dtlogin; now I started xenodm, so.
#pkg_scripts=dtlogin ##for dtlogin
[/cut]
}
Характеристики моего компьютера и системы.
{
model:"HP Compaq 100eu",
cpuspeed:1666,
cpu: "Intel(R) Atom(TM) CPU D410 @ 1.66GHz",
ram_capacity:2048 /*Mb*/,
ram_type:"DDR2",
}
Вывод df -h{
Filesystem Size Used Avail Capacity Mounted on
/dev/sd1a 986M 130M 806M 14% /
/dev/sd1k 87.5G 51.9G 31.3G 63% /home
/dev/sd1d 3.9G 6.6M 3.7G 1% /tmp
/dev/sd1f 14.8G 1.4G 12.7G 11% /usr
/dev/sd1g 986M 324M 613M 35% /usr/X11R6
/dev/sd1h 19.4G 6.5G 11.9G 36% /usr/local
/dev/sd1j 5.8G 2.0K 5.5G 1% /usr/obj
/dev/sd1i 2.9G 339M 2.4G 13% /usr/src
/dev/sd1e 6.6G 85.3M 6.2G 2% /var
}
Протестировал Сердце Хаоса (глобальный оверхол на Морровинд) 2.0 и русский перевод Tamriel Rebuilt (мод на добавление остальной части Morrowind) на Openmw 0.47. Работает стабильно, проделана большая работа над совместимостью. Теперь добавлена совместимость с Tamriel Rebuilt, сохранена совместимость с OpenMW добавленная в версии 1.7. К сожалению, сейчас тут отключено прохождение за Дагота, поэтому мне придется откатываться на версию 1.7. Ну и версия 2.0 сыровата ещё, многовато багов. Была проделана работа по конвертациии из формата esp в esm обратно для плагина Сердце Хаоса 2.0, поэтому все, что имело зависимость, например, адаптированные моды, сделанные для версии 1.7, больше не работают.
Этот раздел форума, как подсказывает описание, был создан «для обсуждения научных и инженерно-технических тем». Несмотря на то, что критерии «научности» разработаны уже довольно давно, и используются весьма эффективно, раз за разом в S&E появляются одни и те же споры на одни и те же не совсем научные темы.
Здесь я попытаюсь привести список самых популярных. Я понимаю что это конечно же никого не остановит от того чтобы не повторить эти темы в пятнадцатый раз, но по крайней мере это поможет не повторять одни и те же аргументы в одних и тех же спорах, а сразу давать ссылку сюда.
Итак, платиновые треды S&E (пока только современная фундаментальная физика, специалисты из других областей приглашаются добавить свои наболевшие баяны, если таковые имеются):
Никогда вопросов глупых
Сам себе не задавай,
А не то еще глупее
Ты найдешь на них ответ.
Если глупые вопросы
Появились в голове,
Задавай их сразу взрослым.
Пусть у них трещат мозги.
Основные команды текстового редактора vim
( читать дальше... )
Давно ничего интересного не выкладывал, исправляюсь.
В этот раз про такую замечательную штуку как tclkit.
На скрине запущен старкит на свежесобранном tclkit, ну и среда разработки tke (sourceforge.net).
Оформление: AMIxfwm , это такой «inspired by» закос под MacOS 2.0/3.0, которая в оригинале выглядела как-то так (macintoshrepository.org)
Ну и обычная (для меня) FreeBSD.
Статья про все эти радости некрофила тут, наслаждайтесь.
Это текстовая версия статьи, оригинал с картинками вот тут (teletype.in).
Продолжаю раскрывать интересную тему запуска программ нестандартными способами. В этот раз расскажу про запуск ELF-бинарника из скрипта и без записи в файловую систему.
( читать дальше... )
Window Maker не просто жив, я его иногда использую.
Соорудил очередную темную тему для WM и темы для приложений gtk2 и gtk3 — clarividenciaII, и иконки — clarividencia. Создано исключительно для удобной работы, без особых изысков.
В dock запихнуто следующее:
GlassHexagons window maker theme
После более трёх месяцев разработки состоялся выпуск 4.1.1 кроссплатформенной библиотеки для C++ (стандарт C++17) FTXUI (Functional Terminal (X) User Interface), предназначенной для создания приложений с текстовым интерфейсом и распространяемой по лицензии MIT.
( читать дальше... )
>>> Подробности (github.com)
22 мая, после более полутора лет разработки, состоялся выпуск 0.9.0 C++ библиотеки FINAL CUT, предназначенной для создания приложений с текстовым интерфейсом, не зависящей от библиотек ncurses, termbox или подобных, и распространяемой по лицензии LGPL-3.0.
( читать дальше... )
>>> Подробности (github.com)
Разбираюсь с функциями вывода текста в XLib и не могу понять почему текст выводится некорректно когда в фонтсете имеется только ISO10646 шрифт. Локаль en_GB.UTF-8, тестирую на следующем фрагменте
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xresource.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
static XrmOptionDescRec xrmTable[] = {
{"-bg", "*background", XrmoptionSepArg, NULL},
{"-fg", "*foreground", XrmoptionSepArg, NULL},
{"-bc", "*bordercolour", XrmoptionSepArg, NULL},
{"-font", "*font", XrmoptionSepArg, NULL},
};
unsigned long getColour(Display *dpy, XrmDatabase db, char *name,
char *cl, char *def){
XrmValue v;
XColor col1, col2;
Colormap cmap = DefaultColormap(dpy, DefaultScreen(dpy));
char * type;
if (XrmGetResource(db, name, cl, &type, &v)
&& XAllocNamedColor(dpy, cmap, v.addr, &col1, &col2)) {
} else {
XAllocNamedColor(dpy, cmap, def, &col1, &col2);
}
return col2.pixel;
}
XFontSet getFont(Display *dpy, XrmDatabase db, char *name,
char *cl, char *def){
XrmValue v;
char * type;
XFontSet font = NULL;
int nmissing;
char **missing;
char *def_string;
if (XrmGetResource(db, name, cl, &type, &v)){
if (v.addr)
font = XCreateFontSet(dpy, v.addr, &missing, &nmissing, &def_string);
}
if (!font) {
if (v.addr)
fprintf(stderr, "unable to load preferred font: %s using fixed\n", v.addr);
else
fprintf(stderr, "couldn't figure out preferred font\n");
font = XCreateFontSet(dpy, def, &missing, &nmissing, &def_string);
}
XFreeStringList(missing);
return font;
}
GC setup(Display * dpy, int argc, char ** argv, int *width_r, int *height_r,
XFontSet *font_r){
int width, height;
unsigned long background, border;
Window win;
GC pen;
XGCValues values;
XFontSet font;
XrmDatabase db;
XrmInitialize();
db = XrmGetDatabase(dpy);
XrmParseCommand(&db, xrmTable, sizeof(xrmTable)/sizeof(xrmTable[0]),
"xtut7", &argc, argv);
font = getFont(dpy, db, "xtut7.font", "xtut7.Font", "fixed");
background = getColour(dpy, db, "xtut7.background", "xtut7.BackGround", "DarkGreen");
border = getColour(dpy, db, "xtut7.border", "xtut7.Border", "LightGreen");
values.foreground = getColour(dpy, db, "xtut7.foreground", "xtut7.ForeGround", "Red");
width = 400;
height = 400;
win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), /* display, parent */
0,0, /* x, y: the window manager will place the window elsewhere */
width, height, /* width, height */
2, border, /* border width & colour, unless you have a window manager */
background); /* background colour */
Xutf8SetWMProperties(dpy, win, "XTut7", "xtut7", argv, argc,
NULL, NULL, NULL);
/* create the pen to draw lines with */
values.line_width = 1;
values.line_style = LineSolid;
/*values.font = font->fid; */
pen = XCreateGC(dpy, win, GCForeground|GCLineWidth|GCLineStyle,&values);
/* tell the display server what kind of events we would like to see */
XSelectInput(dpy, win, ButtonPressMask|ButtonReleaseMask|StructureNotifyMask|ExposureMask);
/* okay, put the window on the screen, please */
XMapWindow(dpy, win);
*width_r = width; *height_r = height;
*font_r = font;
return pen;
}
int main_loop(Display *dpy, XFontSet font, GC pen, int width, int height,
char *text){
int text_width;
int textx, texty;
XEvent ev;
int font_ascent;
XFontStruct **fonts;
char **font_names;
int nfonts;
int j;
printf("%s:%d\n", text, (int) strlen(text));
text_width = XmbTextEscapement(font, text, strlen(text));
font_ascent = 0;
nfonts = XFontsOfFontSet(font, &fonts, &font_names);
for(j = 0; j < nfonts; j += 1){
if (font_ascent < fonts[j]->ascent) font_ascent = fonts[j]->ascent;
printf("Font: %s\n", font_names[j]);
}
/* as each event that we asked about occurs, we respond. */
while(1){
XNextEvent(dpy, &ev);
switch(ev.type){
case Expose:
if (ev.xexpose.count > 0) break;
XDrawLine(dpy, ev.xany.window, pen, 0, 0, width/2-text_width/2, height/2);
XDrawLine(dpy, ev.xany.window, pen, width, 0, width/2+text_width/2, height/2);
XDrawLine(dpy, ev.xany.window, pen, 0, height, width/2-text_width/2, height/2);
XDrawLine(dpy, ev.xany.window, pen, width, height, width/2+text_width/2, height/2);
textx = (width - text_width)/2;
texty = (height + font_ascent)/2;
XmbDrawString(dpy, ev.xany.window, font, pen, textx, texty, text, strlen(text));
break;
case ConfigureNotify:
if (width != ev.xconfigure.width
|| height != ev.xconfigure.height) {
width = ev.xconfigure.width;
height = ev.xconfigure.height;
XClearWindow(dpy, ev.xany.window);
}
break;
case ButtonRelease:
XCloseDisplay(dpy);
return 0;
}
}
}
int main(int argc, char ** argv){
int width, height;
Display *dpy;
GC pen;
XFontSet font;
char *text = "Hello World ñ! ";
setlocale(LC_ALL, getenv("LANG"));
/* First connect to the display server */
dpy = XOpenDisplay(NULL);
if (!dpy) {fprintf(stderr, "unable to connect to display\n");return 7;}
pen = setup(dpy, argc, argv, &width, &height, &font);
if (argv[1] && argv[1][0]) text = argv[1];
return main_loop(dpy, font, pen, width, height, text);
}
Если в фонтсете есть все кодировки (например для fixed) то текст выводится правильно. Если же имеется только ISO10646, то некорректно выводится даже латиница (вместо нее иероглифы). Причем поведение идентично при использовании Xmb*, Xwc* и Xutf8* вариантов функций. Не понятно почему при использовании юникодной локали и юникодного шрифта текст выводится неправильно.
Мне так и не удалось заставить эту штуку работать в вайне без багов, поэтому когда её поддержку добавили в ScummVM, то я очень обрадовался. А когда её поддержку добавили в стабильную версию, то я обрадовался ещё больше.
The Pink Panter: Hokus Pokus Pink — игра с главным героем короткометражки The Pink Panter 1964 года. Теперь и нативно!
Сегодня, 23 апреля 2023 года, состоялся очередной релиз симулятора электронных схем Qucs-S. Особенностью Qucs-S является то, что он не содержит собственного движка моделирования, а использует сторонние SPICE-совместимые движки. Рекомендуемым движком является Ngspice, который предлагается по умолчанию при старте программы.
( читать дальше... )
>>> Страница релиза на Гитхабе (github.com)
| ← назад | следующие → |