LINUX.ORG.RU

Сообщения SmilePlz

 

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

Форум — Desktop

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

 ,

SmilePlz
()

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

Форум — Desktop

Не могу разобраться с тем что в 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
()

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

Форум — Desktop

Доброго времени суток. При запуске иксы виснут, запускается 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, вызов функции

Форум — Development

Хочу реализовать что-то на подобии (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

Форум — Development

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

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
()

Nasm, условия перехода

Форум — Development

Доброго времени суток. встал на ровном месте и не могу разобраться в условиях перехода. есть такой код, его смысл найти первое значение большего «е».

foo:                ; begin = rdi, end = rsi, e = rdx
section .text
    pop rbp
    mov rbp, rsp
    sub rsp, 8
    mov [rbp-8], rdi
.again:
    cmp rdx, [rdi]
    jl .yes
    add rdi, 4
    cmp rdi, rsi
    jl .again
    cmp rdi, rsi
    je .no
.yes:
    sub rdi, [rbp-8]
    mov rax, rdi
    jmp .exit
.no:
    mov eax, -1
.exit:
    push rbp
    ret
его эквивалент на С:
int foo(int *begin, int *end, int e)
{
    int *start = begin;
    while(begin < end)
    {
        if(e < *begin)
            break;
        begin++;
    }
    return (begin == end) ? -1 : begin - start;
}
У меня проблема в условии перехода. Как я понимаю jl, если rdx меньше значения по адресу rdi перейти на метку .yes. Но происходит совершенно противоположное. Тут вся программа. подскажите, пожалуйста, в чем моя ошибка.

 ,

SmilePlz
()

nasm, стек, 64 бита

Форум — Development

Доброго времени суток. Не могу разобраться, подскажите пожалуйста. Если я хочу поместить в стек что либо отличное от 64 бит мне выдает ошибку когда я собираю программу. решил сделать по умному и записать 32 бита в eax, сдвинуть влево регистр rax на 32 бита, и положить еще раз в eax значение 32 бита. Но получается что когда я ложу в регистр eax значение старшая часть rax обнуляется. Пытался найти что либо в гугле, т.к. не я первый и не я последний кто с этим сталкивается, но не могу сформулировать нормально запрос чтобы найти что меня интересует. Подскажите в какую сторону копать, где что можно почитать чтобы найти ответы.

 , ,

SmilePlz
()

vim, syntastic

Форум — Desktop

syntastic хороший плагин работающий из «коробки». Но почему то на файлах *.asm показывает ошибку в каждой строчке, кроме пустых скрин. Такое ощущение что он проверяет по синтаксису at&t а не по intel. Хотя SyntasticInfo

Syntastic version: 3.6.0-145 (Vim 704, Linux)
Info for filetype: asm
Global mode: active
Filetype asm is active
The current file will be checked automatically
Available checker: gcc
Currently enabled checker: gcc
Читал документацию, там написано что если есть указывать тип файла .asm он сам будет включать проверку синтаксиса intel. Кто сталкивался с таким?

 ,

SmilePlz
()

overlay

Форум — Desktop

Подскажите, пожалуйста, в какую сторону копать. есть пару оверлеев и мне из них нужно по пакету. но при обновлении системы, portage видит что в добавленных оверлеях есть другие более свежие пакеты и предлагает мне их установить. Т.е. у меня ~awesome::gentoo, а он мне предлагает [ebuild U ~] x11-wm/awesome-9999-r4::nightmare [3.5.6::gentoo] USE=«dbus -doc -gnome» 0 KiB. А мне из того оверлея только x11-terms/termite нужен. Есть вариант добaвить в package.accept_keywords => x11-wm/awesome::gentoo ~amd64. Но лениво у каждого пакета это дописывать. А есть метод от обратного, указать чтобы из того оверлея только один пакет брался?

 , ,

SmilePlz
()

awesome awful.client.restore

Форум — Desktop

Не работает корректно функция awful.client.restore. стандартный код:

    awful.key({ modkey, "Shift"   }, "t", awful.client.restore),
    awful.key({ modkey,           }, "t", function (c) c.minimized = true end),
выдает ошибку: /usr/share/awesome/lib/awful/client.lua:681: bad argument #1 to 'get' (number expected, got userdata), как я понимаю что он ожидает 1 вместо #1. Подскажите, пожалуйста, как это можно исправить?

 

SmilePlz
()

«падают» иксы

Форум — Desktop

Обновил x11-base/xorg-server до 1.17.2. стали падать иксы. Если гружусь с ядра 3.18.11 все работает, если с ядра 4.0.5 config выдает ошибку. Ядра настроены одинаково (по wiki). emerge --info.

emerge -vp xorg-server These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ~] x11-base/xorg-server-1.17.2:0/1.17.2::gentoo USE=«glamor ipv6 nptl suid udev xorg -dmx -doc -kdrive -minimal (-selinux) -static-libs -systemd -tslib -unwind -wayland -xephyr -xnest -xvfb» 0 KiB

Гуглил по этой теме одно из решений eselect opengl set 1(выбрано). Второе предложение запустить Xorg -configure у меня он не запускается вылетает с ошибкой указанной вверху. Помогите, пожалуйста, подскажите в какую сторону копать. Xorg.0.log

lspci -k 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) Subsystem: Pegatron Device 20c5 Kernel driver in use: i915

в системе только intelHD4000

 , ,

SmilePlz
()

marching, vim, clang

Форум — Desktop

Доброго времени суток не могу завести плагин и у меня подозрение что у меня не правильно (?) настроить clang. marching плагин для автодополнения C/C++ кода в vim. У него в зависимостях clang и плагин vimproc.vim. Все стоит и все «работает», но не выдает то что нужно. Настройки плагина:

Plug 'osyo-manga/vim-marching'
imap <C-a> <Plug>(marching_start_omni_complete)
let g:marching_clang_command = "clang"
let g:marching_include_paths = filter(
\       split(glob('/usr/include/*/'), '\n') +
\       split(glob('/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/*'),'\n'),
\       'isdirectory(v:val)')
set omnifunc? выдает omnifunc=marching#complete, т.e. omni дополнение настроено на marching плагин. /usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/* это include gcc, они отличаются от include clang? Откуда clang берет инклюды? Может я что то не до установил. Просто когда я пытаюсь что либо дополнить нажимая Ctrl+a vim выдает

marching completion start -- Omni completion (^O^N^P) Pattern not found

Я об читался :help marching@en. Но ничего там не нашел. такое ощущение что это просто должно работать после установки. И никаких танцев с бубном не должно быть. Помогите, пожалуйста, довести до ума.

emerge -vp clang [ebuild R ] sys-devel/clang-3.5.0-r100:0/3.5::gentoo USE=«static-analyzer -debug -multitarget -python» ABI_X86=«32 (64) (-x32)» 0 KiB

emerge -vp vim [ebuild R ~] app-editors/vim-7.4.769::gentoo USE=«X acl gpm lua nls perl python ruby -cscope -debug -luajit -minimal -racket (-selinux) -tcl -vim-pager» PYTHON_TARGETS=«python2_7 python3_4 -python3_3» 0 KiB

 , ,

SmilePlz
()

vim, заголовочные файлы

Форум — Desktop

Я новичок в vim. Хочу использовать быстрый переход в заголовочный файл. vim пишет E447: Can't find file «iostream» in path. Я нашел заголовочные файлы в /usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/, добавляю в vim set path += ,/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/ выдает ошибку:

Error detected while processing /home/skao/.vimrc: line 121: E518: Unknown option: ,/usr/lib64/gcc/x86_64-pc-linux-gnu/4.8.4/include/g++-v4/

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

 ,

SmilePlz
()

DTB-PS902, Тифлотек

Форум — General

Доброго времени суток, пишу здесь потому что не могу найти инфы по эксплуатации этого аппарата или каких либо отзывов по использованию или инструкции по обновлению ПО. Он предназначен для слепых и в принципе работает, но есть один недостаток, который сводит на нет все его положительные возможности. У него есть режим mp3 плеера. если в папке существуют файлы 01-99.mp3, которые соответствуют главам книги, то когда я захожу в эту папку он не выбирает файл 01.mp3, он выбирает «рандомный» файл (вообще не рандомный, а файл с наименьшим инодом в этой папке (FAT-32 есть иноды файлов?). И перемещается по инодам(? от меньшего к большему, причем папка этот выбор не ограничивает, в конце он просто переходит в следующую папку, короче полный бред. цикличности нет.), а не по названия. Хотел обновить ПО на с их сайта (который не обновлялся с 2013 года), но по тем следуя тем инструкциям у меня не получается это сделать. Может кто совершенно случайно пользовался или держал в руках этот агрегат? Потому что на письма производитель мне не отвечает.

 

SmilePlz
()

wget

Форум — Desktop

не всегда есть интернет. хочу закачать сайт. использую wget -r -k -l 7 -p -nc http://en.cppreference.com/w/cpp. Но относительные ссылки в автономном режиме браузера не работают, хотя параметр -k, который конвертирует содержимое, стоит. подскажите, пожалуйста, куда копать. p.s. добавление параметра -E, переименовывание файлов в name.html не работает.

 

SmilePlz
()

bash, скрипт

Форум — Desktop

у меня есть скрипт, который меняет тему в оболочке. Проблема заключается в urxvt, или в команде xrdb -merge $HD/.Xdefaults. её приходиться выполнять дважды. чтобы тема применялась. «Пытался» использовать ; чтобы команды выполнялись только после выполнения предыдущей. но не работает. Подскажите, пожалуйста, что я делаю не так.

#!/bin/sh
DS="/data/document/Скрипты/night_day"
HD="/home/skao"
RD="/root"
hour=$(date +%H)
if [ $hour -ge 9 -a $hour -lt 18 ]
then temp="day"
    perl -p -i -e 's/pro-dark/pro-light/g' $HD/.config/awesome/rc.lua
else
    temp="night"
    perl -p -i -e 's/pro-light/pro-dark/g' $HD/.config/awesome/rc.lua
fi
    cp $DS/termite.$temp $HD/.config/termite/config ;
    cp $DS/gtk02.$temp $HD/.gtkrc-2.0 ;
    cp $DS/gtk03.$temp $HD/.config/gtk-3.0/settings.ini ;
    cp $DS/Xdefaults.$temp $HD/.Xdefaults ;
    xrdb -merge $HD/.Xdefaults ;
    chown skao:skao $HD/.vimrc $HD/.gtkrc-2.0 $HD/.config/gtk-3.0/settings.ini $HD/.config/termite/config $HD/.Xdefaults

 ,

SmilePlz
()

awesome, мышь

Форум — Desktop

при запуске Firefox мышь зависает на секунд на 20. Это дико раздражает. причем FF давно все открыл, а тот рабочий с которого отрывали html все занимает курсор.

-- disable startup-notification globally
local oldspawn = awful.util.spawn
awful.util.spawn = function (s)
  oldspawn(s, false)
end
Это решение с сайта не работает =(. Если кто сталкивался с этим помогите решить, пожалуйста. x11-wm/awesome 3.5.6

 ,

SmilePlz
()

Nasm, hello world

Форум — Development

Доброго времени суток. Дошли руки попрактиковаться на ассемблере nasm. не могу понять почему у меня происходит бесконечный цикл. как я понимаю команда loop делает if(--ecx) {}. хочу что то на подобии

while(--ecx)
    printf("ecx = %d", ecx);
extern printf
%macro  pabc 2          ; a "simple" print macro
        section .data
        .str db %1,0    ; %1 is first actual in macro call
        section .text
        mov rdi, fmt4   ; first arg, format
        mov rsi, .str   ; second arg
        mov rdx, [%2]   ; third arg
        mov rax, 0      ; no xmm used
        call printf     ; Call C function
%endmacro

section .data
    fmt4 db "%s = %d",10,0

section .bss
    val_ecx resd 1

section .text
global main
main:
        mov rcx, 100     ; счетчик, будет идти с конца
again:
        mov [val_ecx], ecx
        pabc "ecx", val_ecx
        loop again
почему-то получается на выводе «ecx = 6» в бесконечном цикле. И я не могу понять почему. Вроде проще-то не куда...

 , ,

SmilePlz
()

Spacefm, bindings

Форум — Desktop

Сегодня утром открыл для себя что на любое действие в spacefm можно назначить клавиатурное сочетание (vimlike mod forever). Только не могу создать действие на стрелки вверх-вниз-вправо-влево, если кто задавался этим вопросом подскажите, пожалуйста, как это осуществить.

 

SmilePlz
()

perl, rename

Форум — General

у меня есть куча папок в котором куча файлов типа *_01.mp3 - *.99.mp3 и это все нужно переименовать в 01.mp3 - 99.mp3 написал в pеrl вот это (не кидайте тапками)

#!/usr/bin/perl
use strict;
opendir DIR, @ARGV[0] or die $!;
while(my $fname = readdir DIR)
{
    $fname =~ m/^.+(\d\d.mp3)$/i;
    if($1)
    {
        rename ($fname,"@ARGV[0]$1")
    }
}
closedir DIR;
проблема в rename я не понимаю как ему указать глобальный путь, чтобы он переименовал файлы. проблема именно в этом. помогите пожалуйста дописать скрипт.

 ,

SmilePlz
()

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