LINUX.ORG.RU

Сообщения neversleep

 

Такой себе i3

Галерея — Скриншоты

Насмотрелся я тут на i3, попускал слюни, и решил тоже установить.

png
screenfetch (xfce4-terminal)
lor (chromium)
vim & pcmanfm
обоина

Цвет i3bar постарался подогнать под gtk тему.
Шрифты в терминале, на панели, в gvim и в коньках - Droid Sans Mono, в остальном - Droid Sans.

>>> Просмотр (1920x1080, 621 Kb)

 ,

neversleep
()

zsh, debian и символ «^»?

Форум — General

Я чето не понял, пишу apt-cache search ^alsa- - получаю пустой выхлоп, пишу тоже самое в bash - все нормально(получаю результат поиска), но если заэкранировать ^ в z shell apt-cache search \^alsa-, то все тоже становиться нормально - почему?

PS
echo ^ в zsh выводит тоже самое что и ls Почему?(2), Алиас?
PPS
Debian - гостевая ОС, VirtualBox 4.3.16-1, хост ОС - Linux 3.16.2-1-ARCH #1 SMP PREEMPT Sat Sep 6 13:12:51 CEST 2014 x86_64 GNU/Linux

 , , ,

neversleep
()

undefined reference. ld returned 1 exit status

Форум — Development

Не могу собрать казалось бы элементарную программу:

// hello.cpp

#include <stdio.h>
#include "crypt_blowfish-1.2/ow-crypt.h"

int main()
{
    //puts("H3LLO!");
    crypt(0, 0); // нули, просто для примера
    return 0;
}
$ g++ hello.cpp -L crypt_blowfish-1.2 -lcrypt_blowfish -o hello
/tmp/ccct9dc3.o: In function `main':
hello.cpp:(.text+0xf): undefined reference to `crypt(char const*, char const*)'
collect2: error: ld returned 1 exit status
crypt_blowfish собиралась так:
$ wget http://www.openwall.com/crypt/crypt_blowfish-1.2.tar.gz
$ tar -xvf crypt_blowfish-1.2.tar.gz
$ cd crypt_blowfish-1.2
$ make

gcc -c -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wundef -Wpointer-arith -O2 -fomit-frame-pointer -funroll-loops crypt_blowfish.c
gcc -c x86.S
gcc -c -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wundef -Wpointer-arith -O2 -fomit-frame-pointer -funroll-loops crypt_gensalt.c
gcc -c -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wundef -Wpointer-arith -O2 -fomit-frame-pointer -funroll-loops wrapper.c
echo '.so man3/crypt.3' > crypt_r.3
echo '.so man3/crypt.3' > crypt_rn.3
echo '.so man3/crypt.3' > crypt_ra.3
echo '.so man3/crypt.3' > crypt_gensalt.3
echo '.so man3/crypt.3' > crypt_gensalt_rn.3
echo '.so man3/crypt.3' > crypt_gensalt_ra.3
$ ar rsv libcrypt_blowfish.a *.o

ar: creating libcrypt_blowfish.a
a - crypt_blowfish.o
a - crypt_gensalt.o
a - wrapper.o
a - x86.o
Вроде все собралось без ошибок, не пойму, почему в итоге получаю undefined reference? ЧЯДНТ?

 ,

neversleep
()

Удаление неиспользуемых сессий

Форум — Web-development

Собсно, мучаю rails(4.0.4, not found, ага), создал обычное приложение, есть юзеры, есть сессии:

class User < ActiveRecord::Base
  has_one :session, dependent: :destroy
end

class Session < ActiveRecord::Base
  belongs_to :user
end

Юзер может входить и выходить, при входе создаётся сессия, при выходе - уничтожается, и вот тут у меня возник вопрос: гарантировано уничтожить сессию я могу только при выходе юзера, но ведь велика вероятность того, что будут появлятся невалидные сессии(например, кто-то просто забудет выйти) - как лучше всего организовать удаление таких сессий? В какой момент лучше всего это делать? Или вообще не париться? Потому как при новом заходе юзера я удаляю его старую сессию. (Но ведь не факт, что будет новый заход) Или по расписанию запускать скрипт, который будет чистить таблицу от сессий чей срок жизни истёк?

PS Вопрос не принципиально по rails, тэг для красоты поставил.

 

neversleep
()

Система тормозит при записи большого объёма на флешку

Форум — Desktop

Приветствую.

Давно заметил такую странную штуку, когда при записи большого объёма информации на флешку система начинает тормозить. После записи, тормоза проходят.

Я думал, что это всё проклятый GNOME 3.10, но вот сейчас у меня XFCE 4.10, и история повторяется. Дошло до того, мне приходиться перезагружаться в оффтопик, чтобы нормально записать что-то большое на флешку =\ Но я не хочу этого делать, и не знаю, что думать.

Помогите.

В распоряжении:

Linux ___ 3.14.2-1-ARCH #1 SMP PREEMPT Sun Apr 27 11:28:44 CEST 2014 x86_64 GNU/Linux
XFCE 4.10
Обычная китайская флешка Transcend 8GB
Файлы общим весом ~6.5GB (В последний раз было столько)
ОЗУ 4GB

 ,

neversleep
()

Подскажите текстовый просмоторщик, вместо внутреннего gnome commander

Форум — Desktop

Собственно, недавно перешёл на GNOME Commander(с Double Commander), внутренний просмоторщик не устраивает, ищу замену - легкий и функциональный, главное, GUI, ну вы поняли. И чтобы была возможность переключать режим просмотра(текст/двоичный/шестнадцатеричный) и кодировки всякие.

Спасиб@.

 , text viewer

neversleep
()

Ruby, GTK 3.10 и ширина TreeView

Форум — Development

Создаю TreeView со множеством столбцов, и не знаю что нужно сделать, чтобы при изменении размера столбца(мышью, как обычно) менялась и ширина самого дерева, т.е чтобы внизу появлялся горизонтальный скроллбар, т.к в некоторых ячейках может содержаться довольно длинный текст. При том что в GTK 3.4(более точно версию не помню), этот же код работает нормально.

Заметил, что и в nautilus и, к примеру, в file-roller, поведение столбцов(да и всего treeview) точно такое же как и у меня. Очередная новая фишка от разработчиков gnome, или что это?

Arch Linux, GNOME 3.10.2, GTK 3.10.7-1

class Window < Gtk::Window
  include GetText

  def initialize
    super(Gtk::Window::Type::TOPLEVEL)

    tree = create_tree
    scrolled = Gtk::ScrolledWindow.new
    scrolled.add_with_viewport(tree)

    box = Gtk::Box.new(:vertical)
    box.pack_start(scrolled, expand: true, fill: true)

    self.add(box)

    self.set_default_size(640, 480)
    self.set_window_position(Gtk::Window::Position::CENTER)
    self.show_all

    self.signal_connect("delete_event") { Gtk.main_quit }
  end

  def create_tree
    model = Gtk::ListStore.new(
      String,
      String,
      String,
      String,
      String
    )
    tree = Gtk::TreeView.new(model)

    add_col = Proc.new do |title, renderer, cell_data_func, attrs|
      col = Gtk::TreeViewColumn.new(title, renderer, attrs)
      col.sizing = Gtk::TreeViewColumn::Sizing::FIXED
      col.resizable = true
      col.expand = true
      col.min_width = 50
      col.fixed_width = 50
      col.set_cell_data_func(renderer, &cell_data_func) unless cell_data_func.nil?

      tree.append_column(col)
      col
    end

    text_renderer = Gtk::CellRendererText.new

    add_col.call(_("Col 1"), text_renderer, nil, text: 0)
    add_col.call(_("Col 2"), text_renderer, nil, text: 1)
    add_col.call(_("Col 3"), text_renderer, nil, text: 2)
    add_col.call(_("Col 4"), text_renderer, nil, text: 3)
    add_col.call(_("Col 5"), text_renderer, nil, text: 4)

    tree
  end
end

Gtk.init
Window.new
Gtk.main

Пока придумал только вот такой костыль:

      # в блоке add_col
      col.signal_connect("notify::width") do |_, _|
        new_width = 0
        tree.columns.each { |c| new_width += c.fixed_width }
        tree.set_size_request(new_width, -1) if new_width > 0
      end
Ну бред же? Где стандартное поведение TreeView? Помогите, ибо сил уже нет.

 , ,

neversleep
()

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