LINUX.ORG.RU

Сообщения SmilePlz

 

Неосиляторство xkb

Хочу осилить смену раскладки отличной от той что есть в предустановках xkb. пытаюсь назначить тип для клавиши и с помощью каких клавишь происходит смещение.

type "MY_SPACE" {
            modifiers = Shift;
            map[None] = Level1;
            map[Shift_L] = Level2;
            map[Shift_R] = Level3;
            level_name[Level1] = "Base";
            level_name[Level2] = "First Group";
            level_name[Level3] = "Last Group";
};
мне постоянно выдает ошибку:
Error: Identifier "Shift_L" of type int is unknown
Error: The key type map entry field must be a modifier mask Ignoring illegal assignment in MY_SPACE
Я пробовал сменить Shift_L на RTSH, LShift, и еще кучу всевозможных комбинаци. Не жалуется только на Shift. Как сделать различие между правым и левым Shift? Возможно ли вообще это сделать?

 , ,

SmilePlz
()

Stardict, озвучивание слов

есть Stardict 3.0.6-r2^t(03:48:31 19.05.2016)(espeak spell -pronounce -qqwry -tools), есть словарь (Oxford Advanced Learner's Dictionary) с ним в довесок идет озвучка (лежит в ~/.stadict/res), в настройках звука указал: если указывать так «mpv ~/.stardict/res/» он начинает воспроизводить все файлы что лежат в этой папке, если «mpv ~/.stardict/res/%f» сам меняет на «mpv ~/.stardict/res/%s», а mpv выдает ошибку

[file] Cannot open file '~/.stardict/res/%s': No such file or directory
Failed to open ~/.stardict/res/%s.
. Подскажите, пожалуйста, как заставить stardict чтобы он передавал mpv нормальное название файла?

 

SmilePlz
()

hello word на С и SIGSEGV

Доброго времени суток. хочу для себя написать велосипед на С. У меня загвоздка в том что при создании списка когда выделяется память программа выпадает в SIGSEGV. Каких то ошибок в коде я не вижу, но разобраться в этой проблеме с gdb не могу. подскажите где можно найти решение этой проблемы. source

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7ab8e69 in ?? () from /lib64/libc.so.6
=> 0x00007ffff7ab8e69:	4c 89 63 10	mov    QWORD PTR [rbx+0x10],r12
(gdb) bt
#0  0x00007ffff7ab8e69 in ?? () from /lib64/libc.so.6
#1  0x00007ffff7aba9c8 in malloc () from /lib64/libc.so.6
#2  0x0000000000400c56 in Xmalloc (size=72) at keyboard_trainer.c:52
#3  0x00000000004010c0 in create_cache (name_file=0x60b273 "English мини марафон") at keyboard_trainer.c:154
#4  0x00000000004012d4 in build_cache () at keyboard_trainer.c:183
#5  0x0000000000401351 in cache () at keyboard_trainer.c:197
#6  0x00000000004013a4 in main () at keyboard_trainer.c:208

 

SmilePlz
()

Freemind, шрифты

установил freemind со шрифтами в меню полная жопа. Подскажите, пожалуйста, можно ли как нибудь довести это до ума чтобы глаза не вырывало? смена внешнего вида на GTK или Gtk+ не помогает. gentoo, kernel 4.4.6, awesome wm, infinality

 , ,

SmilePlz
()

Литература, пример проекта обработки ошибок на С

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

 

SmilePlz
()

2gis, gentoo

поставил app-misc/2gis-4.15.2.280 само приложение работает, но не скачивает города. Как понять что ему не хватает для работы?

 ,

SmilePlz
()

Отключение экрана

Доброго времени суток, у меня в ядре стоит таймер 10 минут, после бездействия отключается экран. в системе все работает нормально, например mpv, но если я смотрю видео через firefox, то отключающийся экран начинает дико бесить. Подскажите, пожалуйста, как настроить firefox чтобы при просмотре видео экран не отключался. В системе все минималистично. 4.4.6-gentoo, awesome

 , ,

SmilePlz
()

clang 3.8

У меня gentoo почему-то старается понизить версию установленного пакета clang c 3.8 на 3.7. виновник торжества (как мне кажется) dev-libs/libclc (который в зависимостях от media-libs/mesa). но я не могу понять чего он от меня хочет...

 ,

SmilePlz
()

unicode, read file, С

не могу осилить работу с юникодом, wchar и не могу найти внятную инфу по этой теме с примерами. например есть файл в котором есть слово «Москва», размер файла 13 байт. как я понимаю размер каждой буквы 2 байта, конец файла 1 байт? sizeof(wchar) = 4 байта. если я пишу что-то типа:

setlocale(LC_ALL, "");
FILE *fd;
fd = fopen("test", "r");
fseek(fd,0,SEEK_END);
int size = ftell(fd);
fseek(fd,0,SEEK_SET);
wchar buff[size];
fgetws(buff,size,fd); //Здесь всегда выдает NULL
for (int i=0; buff[i] != '\0'; i++) { //не могу настроить чтобы в терминале вывод работал с wchar, поэтому такие костыли
    putchar(wctob(buff[i]));
}
putchar('\n');
помогите, пожалуйста, разобраться что я делаю не так.

 , ,

SmilePlz
()

stdout wchar С

wprintf не выводит utf.8 строки. в мане пишется что поток должен быть открыт для wide-char символов. когда я проверяю fwide(stdout, 0) = -1, т.е. открыт для байтовых символов. в мане fwide пишут что если поток уже определен, его нельзя переопределить, можно только закрыть. подскажите, пожалуйста, как открыть stdout для wide-char символов. не могу нагуглить.

 ,

SmilePlz
()

Хранение данных

хочу написать программу которая ведет учет книг в библиотеке по категориям и хранит кто когда и на сколько брал книгу и как его зовут (хотя программа не для этого, но чтобы можно было понять принцип работы, на пальцах). Думал над тем как хранить данные, самый простой (надежный?) способ, это хранить данные на каждую книгу в отдельном файле. Но если будет их слишком много книг 1500 - 2000 файлов. а при запуске каждый открыть это будет... можно сделать одним файлом, в начале которого он будет иметь структуру которая будет описывать что внутри записано, но если файл в начале будет битым от этого файла будет мало проку, и как проверить битый файл или нет... Самое интересное что кто-то уже задавался такими же вопросами и возможно написал не одну книгу по этой теме. Вы не могли бы подсказать в какую сторону копать, что почитать, как не наступить на распространенные грабли.

 ,

SmilePlz
()

Линковка

Не получается скомпоновать свой файл с библиотекой libc.so. в исходном файле есть ссылки на printf, putchar и т.п. использую команду

ld -I/lib/ld-linux.so.2 -lc $arg.o -o $arg --verbose

attempt to open /usr/x86_64-pc-linux-gnu/lib64/libc.so failed attempt to open /usr/x86_64-pc-linux-gnu/lib64/libc.a failed attempt to open /usr/lib64/binutils/x86_64-pc-linux-gnu/2.25.164/libc.so failed attempt to open /usr/lib64/binutils/x86_64-pc-linux-gnu/2.25.164/libc.a failed attempt to open /usr/local/lib64/libc.so failed attempt to open /usr/local/lib64/libc.a failed attempt to open /lib64/libc.so failed attempt to open /lib64/libc.a failed attempt to open /usr/lib64/libc.so succeeded opened script file /usr/lib64/libc.so opened script file /usr/lib64/libc.so attempt to open /lib64/libc.so.6 succeeded /lib64/libc.so.6 attempt to open /usr/lib64/libc_nonshared.a succeeded attempt to open /lib64/ld-linux-x86-64.so.2 succeeded /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 attempt to open 05.03.14.o succeeded 05.03.14.o ld-linux-x86-64.so.2 needed by /lib64/libc.so.6 found ld-linux-x86-64.so.2 at /lib64/ld-linux-x86-64.so.2

lddtree $arg

05.03.14 => ./05.03.14 (interpreter => /lib/ld-linux.so.2) libc.so.6 => /lib64/libc.so.6 ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2

./$arg

bash: ./$arg: Обращение к поврежденной разделяемой библиотеке

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

 ,

SmilePlz
()

SpaceFm vim text edit

Подскажите, пожалуйста, как можно открыть текстовый файл из SpaceFm в терминале типа urxvt или termite редактором vi. Я нашел давно как это делалось, но не сохранил, а теперь не где не могу найти как это делается. пробовал что то вроде urxvt 'vi %f' =) но это не катит

upd: urxvt -e vi %f termite -e 'vi %f'

 , ,

SmilePlz
()

vimperator поиск

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

 

SmilePlz
()

Не могу добавить пользователя в группу

=)

groupadd power
groupadd: группа «power» уже существует
useradd -G power XXXX
useradd: пользователь «XXXX» уже существует
id XXXX
uid=1000(XXXX) gid=1000(XXXX) группы=1000(XXXX),10(wheel),18(audio),27(video),100(users)
так может быть? в файл /etc/group ничего не пишется. если в ручную дописать рут видит группы пользователя, а у пользователя группа power отсутствует. и в сочетании с

/etc/sudoers

%power ALL=(ALL) NOPASSWD: /sbin/reboot,/sbin/poweroff,/sbin/halt

на

sudo reboot

Мы полагаем, что ваш системный администратор изложил вам основы безопасности. Как правило, всё сводится к трём следующим правилам: №1) Уважайте частную жизнь других. №2) Думайте, прежде что-то вводить. №3) С большой властью приходит большая ответственность.

,

 

SmilePlz
()

Ошибка сегментирования

Доброго времени суток. у меня в системе постоянно закрываются различные программы с словами «ошибка сегментирования». Это может быть gimp, spacefm, gliv даже pam. проверял память memtest все нормально. использовал видовз подход пере установил систему. все тоже самое, проблема осталась. подскажите, пожалуйста, в какую сторону копать чтобы с этим разобраться

 ,

SmilePlz
()

нет русского языка urxvt

Не могу разобраться с тем что в rxvt-unicode не работает русский язык, т.е. когда переключаюсь на него чтобы я на клаве не нажимал это в rxvt не отображается. В других приложениях работает, типа firefox. Настроил переключение с помощью xorg

 Section "InputClass"
	Identifier "keyboard-all"
	Driver "evdev"
	Option "XkbLayout" "us,ru"
	Option "XkbVariant" "colemak,"
	Option "XkbOptions" "grp:alt_shift_toggle"
	Option "XkbModel" "pc86"
	MatchIsKeyboard "on"
EndSection 

locale -a C POSIX en_US.utf8 ru_RU.uts8

[ebuild R ] x11-terms/rxvt-unicode-9.21::gentoo USE=«256-color alt-font-width focused-urgency font-styles mousewheel perl startup-notification unicode3 xft -blink -buffer-on-clear -fading-colors -iso14755 -pixbuf -secondary-wheel -vanilla -wcwidth» 0 KiB

подскажите куда копать.

 

SmilePlz
()

Иксы зависают при старте.

Доброго времени суток. При запуске иксы виснут, запускается awesome, показывается изображение и все виснет. Не могу понять что я сделал не так. делал все по wiki.

  • emerge --info
  • kernel-4.1.12 ядро собирал сам... вроде до этого проблем не бывало
  • lspci -k
  • [ebuild R ] x11-base/xorg-server-1.17.4:0/1.17.4::gentoo USE=«glamor ipv6 nptl suid udev xorg -dmx -doc -kdrive (-libressl) -minimal (-selinux) -static-libs -systemd -tslib -unwind -wayland -xephyr -xnest -xvfb» 0 KiB

 ,

SmilePlz
()

Assembler, вызов функции

Хочу реализовать что-то на подобии (2 упорядоченных массива, объединить их чтобы 3 массив остался тоже упорядоченным):

void foo(int *a, int *b, int n, int k){ 
    int t = n + k;
    int *end_a = a + n, end_b = b + k;
    int c[t] = {0}, end_c = c + t;
    while (c < end_c) {
        if((a != end_a && b != end_b && *a < *b) || b == end_b) {
            *c++ = *a++;
        } else { 
            *c++ = *b++;
        }
    }
}
здесь на nasm'e. проблема на 100 строчке после вызова foo. После этого следующая инструкция переходит на строчку (в отладчике)

0x000000000040068a <foo.while+12>: 3b 06 cmp eax,DWORD PTR [rsi]

, это 41 строчка. Подскажите в какую сторону копать.

 ,

SmilePlz
()

nasm macro

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

test.asm:20: error: symbol `str' undefined

%macro print 2
    section .data
    .str db  %1,10,0
    section .text
    mov rdi, str
    mov rsi, %2
    mov rax, 0
    call printf
%endmacro

foo:
section .text
    push rbp

print_max:
    print "begin[max] = %d", ebx

    pop rbp
    ret

подскажите что я делаю не так.

 , ,

SmilePlz
()

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