LINUX.ORG.RU

Сообщения WRG

 

Монтирование без боли в spacefm

При монтировании sshfs в spacefm (используется udevil) появляется консольное окно, при закрытии которого только что примонтированная фс сразу размонтируется. Можно ли это исправить? Нигде не нашел подобных настроек.

 ,

WRG
()

Firefox на android криво рендерит страницы.

Вот рендеринг в хроме, а вот в лисе

Как лечить?

 ,

WRG
()

Как считывать нажатие клавиши без задержек?

Есть такой код с использованием ncurses

#include <iostream>
#include <ncurses.h>
#include <unistd.h>

using namespace std;

int main()
{
    char c = 'a';

    initscr();
    noecho();

    do {
        c = getch();
        addch(c);
    } while(c != 'q');

    endwin();
    return 0;
}

который печатает символы, вводимые с клавиатуры. Если зажать какую-нибудь клавишу, то сперва выведется один символ, затем, через некоторый промежуток времени будут выводиться остальные пока клавиша зажата. Как можно избавиться от вышеупомянутой паузы? Вручную опрашивать клавиатуру каким-либо образом?

Пробовал сделать неблокирующий getch() с помощью

nodelay(stdscr, TRUE);

и обрабатывать ERR в цикле, эффект остаётся.

 , , ,

WRG
()

HDD для домашней файлопомойки

Настало время замены жесткого диска в домашнем сервачке. Остановил свой выбор на этом. Работать будет 24x7, нагрузка маленькая, изредка закидываю туда музыку, немного торрентов. Годится ли этот диск для моих целей, или лучше выбрать что-то другое?

 ,

WRG
()

Гляньте SMART пожалуйста

Диск сначала перемонитровался с read only, а потом и вовсе пропал из системы. После перезагрузки все как ни в чем не бывало. Важные данные оперативненько забекапил. Смарт выглядит вот так

user@comp ~ $ sudo smartctl -a /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     Seagate Barracuda 7200.12
Device Model:     ST31000528AS
Serial Number:    9VP50CW5
LU WWN Device Id: 5 000c50 01fd1db8f
Firmware Version: CC38
User Capacity:    1 000 204 886 016 bytes [1,00 TB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 4
Local Time is:    Sat Nov 14 14:20:31 2015 YEKT
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x82)	Offline data collection activity
					was completed without error.
					Auto Offline Data Collection: Enabled.
Self-test execution status:      (   0)	The previous self-test routine completed
					without error or no self-test has ever 
					been run.
Total time to complete Offline 
data collection: 		(  609) seconds.
Offline data collection
capabilities: 			 (0x7b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine 
recommended polling time: 	 (   1) minutes.
Extended self-test routine
recommended polling time: 	 ( 180) minutes.
Conveyance self-test routine
recommended polling time: 	 (   2) minutes.
SCT capabilities: 	       (0x103f)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x000f   119   099   006    Pre-fail  Always       -       219002847
  3 Spin_Up_Time            0x0003   095   092   000    Pre-fail  Always       -       0
  4 Start_Stop_Count        0x0032   096   096   020    Old_age   Always       -       4874
  5 Reallocated_Sector_Ct   0x0033   100   100   036    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x000f   083   060   030    Pre-fail  Always       -       205155283
  9 Power_On_Hours          0x0032   072   072   000    Old_age   Always       -       24979
 10 Spin_Retry_Count        0x0013   100   100   097    Pre-fail  Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   020    Old_age   Always       -       1747
183 Runtime_Bad_Block       0x0032   100   100   000    Old_age   Always       -       0
184 End-to-End_Error        0x0032   100   100   099    Old_age   Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age   Always       -       0
188 Command_Timeout         0x0032   096   095   000    Old_age   Always       -       107375820899
189 High_Fly_Writes         0x003a   100   100   000    Old_age   Always       -       0
190 Airflow_Temperature_Cel 0x0022   064   053   045    Old_age   Always       -       36 (Min/Max 21/38)
194 Temperature_Celsius     0x0022   036   047   000    Old_age   Always       -       36 (0 17 0 0)
195 Hardware_ECC_Recovered  0x001a   050   024   000    Old_age   Always       -       219002847
197 Current_Pending_Sector  0x0012   100   100   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0010   100   100   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x003e   200   200   000    Old_age   Always       -       0
240 Head_Flying_Hours       0x0000   100   253   000    Old_age   Offline      -       84125524457803
241 Total_LBAs_Written      0x0000   100   253   000    Old_age   Offline      -       760477060
242 Total_LBAs_Read         0x0000   100   253   000    Old_age   Offline      -       70522443

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

Надо ли идти в магазин за новым диском?

 , ,

WRG
()

Непонятки c QFileInfo

Имеем Qt4.8.6 под линуксом. Запускаем такой код

QString str;
            str = "/tmp/myfolder/myfile.txt";
            qDebug() << QFileInfo(str).fileName();
            str = "tmp\\myfolder\\myfile.txt";
            qDebug() << QFileInfo(str).fileName();

fileName() должен выводить имя файла без его пути. Вот его вывод
"myfile.txt" 
"tmp\myfolder\myfile.txt" 

Т.е. виндовые пути обработаны неверно. Запускаем то же самое под виндой, все работает нормально.

"myfile.txt" 
"myfile.txt" 

Почему так происходит, и как еще можно получить имя файла без пути до него независимо от типа пути и платформы, где это все работает? В голову приходит только регулярка.

 

WRG
()

Radeon R7 - есть жизнь или нет?

Хочу A10-7700K, но там вышеупомянутый Radeon R7. Заведется ли он в моём debian'e? 3D вобще не нужно, по этой же причине мне не нужна дискретка, играть не собираюсь, нужен просто комп для кодинга и немного виртуалок. Можно брать, или лучше все таки взять A10-6800K, где с радеоном точно всё должно работать?

 ,

WRG
()

Помогите с grep'ом

>$ free -h | grep "Swap"
Swap:         6,6G         0B       6,6G

Помогите пожалуйста выцепить значение «0B» из этой строки с помощью грепа? Пробовал такое:

>$ free -h | grep "Swap" | grep -oP "[0-9BKMG,]+"
6,6G
0B
6,6G

но до 0B никак добраться не могу. Ну и засоветуйте годный и не слишком хардкорный мануал по регуляркам, раз на то пошло.

 , ,

WRG
()

Помогите настроить LPT принтер

Subj. Дистр Debian Jessie, принтер Lexmark E232, подключен к LPT порту компьютера, но cups упорно его не видит.

user@workstation [~]
>$ lsmod | grep lp 
lp                     17074  0 
parport                35749  3 lp,ppdev,parport_pc

user@workstation [~]
>$ lsmod | grep ppdev 
ppdev                  16782  0 
parport                35749  3 lp,ppdev,parport_pc

user@workstation [~]
>$ lsmod | grep parport_pc
parport_pc             26300  1 
parport                35749  3 lp,ppdev,parport_pc

user@workstation [~]
>$ dmesg | grep par
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.014158] AppArmor: AppArmor disabled by boot time parameter
[    0.444865] hpet0: 4 comparators, 32-bit 14.318180 MHz counter
[    1.305139] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part ccc 
[    2.697238] PM: Hibernation image partition 8:38 present
[    2.881870] ppdev: user-space parallel port driver
[    2.882644] parport_pc 00:01: reported by Plug and Play ACPI
[    2.882672] parport0: PC-style at 0x378, irq 7 [PCSPP,TRISTATE,EPP]
[    2.910787] parport0: Printer, Lexmark International Lexmark E232
[    2.910905] lp0: using parport0 (interrupt-driven).

user@workstation [~]
>$ ls -l /dev/lp* /dev/parport* 
crw-rw---- 1 root lp  6, 0 авг 17 21:58 /dev/lp0
crw-rw-r-- 1 root lp 99, 0 авг 17 21:58 /dev/parport0

user@workstation [~]
>$ ls -l /proc/sys/dev/parport/parport*/autoprobe*  
-r--r--r-- 1 root root 0 авг 17 22:00 /proc/sys/dev/parport/parport0/autoprobe
-r--r--r-- 1 root root 0 авг 17 22:00 /proc/sys/dev/parport/parport0/autoprobe0
-r--r--r-- 1 root root 0 авг 17 22:00 /proc/sys/dev/parport/parport0/autoprobe1
-r--r--r-- 1 root root 0 авг 17 22:00 /proc/sys/dev/parport/parport0/autoprobe2
-r--r--r-- 1 root root 0 авг 17 22:00 /proc/sys/dev/parport/parport0/autoprobe3

user@workstation [~]
>$ sudo cat /proc/sys/dev/parport/parport*/autoprobe*
[sudo] password for user: 
CLASS:PRINTER;
MODEL:Lexmark E232;
MANUFACTURER:Lexmark International;
DESCRIPTION:Lexmark E232;
COMMAND SET:PCL 6 Emulation, PostScript Level 3 For Mac Emulation, NPAP, PJL;

user@workstation [~]
>$ sudo lpinfo -v
network https
network ipp
network ipp14
network http
network lpd
network socket
serial serial:/dev/ttyS0?baud=115200
network ipps

user@workstation [~]
>$ /usr/lib/cups/backend/parallel

user@workstation [~]
>$ sudo /usr/lib/cups/backend/parallel
direct parallel:/dev/lp0 "Lexmark  Lexmark E232" "Lexmark  Lexmark E232 LPT #1" "MANUFACTURER:Lexmark International;COMMAND SET:PCL 6 Emulation, PostScript Level 3 For Mac Emulation, NPAP, PJL;MODEL:Lexmark E232;CLS:PRINTER;DES:Lexmark E232;CID:Lexmark_InternationaCC02, Lexmark_Internationa0D83, Lexmark_Internationa9D12, Lexmark_Internationa5DD3;COMMENT:ECP1.0, LV_043D, LP_0091, LF_0035;" ""

 , ,

WRG
()

Куча записей в auth.log

В /var/log/auth.log вижу такое

Jun 21 06:47:01 debian-server CRON[13006]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 06:47:06 debian-server CRON[13006]: pam_unix(cron:session): session closed for user root
Jun 21 07:17:01 debian-server CRON[13050]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 07:17:01 debian-server CRON[13050]: pam_unix(cron:session): session closed for user root
Jun 21 08:17:01 debian-server CRON[13061]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 08:17:01 debian-server CRON[13061]: pam_unix(cron:session): session closed for user root
Jun 21 09:17:01 debian-server CRON[13073]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 09:17:01 debian-server CRON[13073]: pam_unix(cron:session): session closed for user root
Jun 21 10:17:01 debian-server CRON[13085]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 10:17:01 debian-server CRON[13085]: pam_unix(cron:session): session closed for user root
Jun 21 11:17:01 debian-server CRON[13096]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 11:17:01 debian-server CRON[13096]: pam_unix(cron:session): session closed for user root
Jun 21 12:17:01 debian-server CRON[13108]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 12:17:01 debian-server CRON[13108]: pam_unix(cron:session): session closed for user root
Jun 21 13:17:01 debian-server CRON[13121]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 13:17:01 debian-server CRON[13121]: pam_unix(cron:session): session closed for user root
Jun 21 14:17:01 debian-server CRON[13135]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 14:17:01 debian-server CRON[13135]: pam_unix(cron:session): session closed for user root
Jun 21 15:17:01 debian-server CRON[13151]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun 21 15:17:01 debian-server CRON[13151]: pam_unix(cron:session): session closed for user root

много таких повторяющихся записей. Что они значат? Стоит ли волноваться?

 , , ,

WRG
()

Выбора SSD тред, часть 2

Не столь давно я создавал тему, где выбирал HDD или SSD на замену своему старичку. Я вроде определился, что возьму Crucial MX100, тогда они еще были в магазинах. Но что то пошло не так, деньги пришлось пустить на другие нужды, покупку отложил. Теперь деньги есть, но MX100 нигде не продается, и М550, который советовали в прошлом треде тоже уже не найдешь. Посему у меня опять встал вопрос, что теперь брать? Полистал каталог, наткнулся на Plextor M6S (PX-128M6S), вроде модель популярная, отзывов много, и подавляющее большинство юзеров довольны покупкой. Наткнулся так же на его обзор, в котором сказано, что траблы с прошивкой, и вобще модель не очень. Про M6Pro тоже написано, что не торт. Посоветуйте, как быть.

 ,

WRG
()

Нужно превратить C++ код в нечитаемое месиво

Собственно сабж. Защита от реверса не нужна, надо просто чтобы сам код выглядел как оно самое. Что-то вроде astyle, только чтоб работало в обратную сторону. Есть такое?

 , ,

WRG
()

двойное питание микроконтроллера

В общем, такое дело. Есть микроконтроллер, который должен работать от аккумулятора когда включен выключатель питания платы, и должен работать независимо от состояния выключателя, когда подключено внешнее питание на плату. Как это правильно сделать? Пока что пришло в голову такое. VCC_1 идет от разъёма внешнего питания, а VCC_2 от аккумулятора через выключатель. 555 тут просто для образца, вместо неё будет микроконтроллер. Сомневаюсь, что это правильное решение. Наставьте на путь истинный. Linux тут при том, что программироваться микроконтроллер будет из-под него.

cast Zubok, Eddy_Em, beastie, qbe, Dron

 , , ,

WRG
()

Правильное использование исключений

Я в учебных целях и из спортивного интереса разрабатываю класс для работы с bmp картинками. Функционал пока что примитивный - чтение из файла, запись в файл, вывод на в консоль (да, я упоролся), в дальнейшем будет еще что нибудь, например рисование примитивов на открытом изображении. О всяческих ошибках по моей задумке класс должен сообщать использующей его программе с помощью исключений. Например, если перед вызовом функции read() имя открываемого файла указано не было, выбрасывается исключение, или при чтении файл внезапно кончился, хотя должен был продолжаться, опять выбрасывается исключение.

Является ли частое использование хорошим тоном? Или может быть лучше вообще не использовать исключения, а просто сделать bool read(), который вернет false если случилась ошибка, и другие функции переписать в таком же духе? Какие еще особенности бывают при работе с исключениями?

 ,

WRG
()

Выбора HDD тред

Настало время заменить свой ide hdd (120gb, вполне работоспособный кстати, но очень медленный)в десктопе на что нибудь новое.

Есть несколько вариантов: 1) Небольшой ssd для системы + hdd для данных. Плох тем, что выйдет очень дорого, но вариант выглядит самым правильным.

2) Гибридный SSHD. Будет дешевле, ну и вроде быстрее чем простой hdd. Хотелось бы услышать истории успеха.

3) Просто купить hdd и не париться, потому, что прирост скорости по сравнению с 10-и летним ide старичком будет заметен даже в этом случае. Ну и к тому же, это самый дешёвый вариант.

Практически все (если не все) диски сейчас sata 6gb/s, моя мать не поддерживает, там обычный sata, 3gb/s или какой он там был. Производительность компьютера в целом меня устраивает, замена матери в обозримом будущем не предвидится. Имеет ли смысл купить какой-нибудь pci-e sata 6gb/s контроллер, чтобы выжать из нового диска максимум?

Посоветуйте как лучше поступить.

 ,

WRG
()

Не подключается VPN

Пытаюсь подключиться к vpn с помощью network manager, получаю вот это в syslog. Вижу там строку

mknod /dev/ppp c 108 0
выполняю её, пытаюсь подключиться заново, на этот раз лог такой.

Debian Jessie, pptp-linux, network-manager-pptp* установлены. Еще позавчера подключение работало. С другого компьютера с точно таким же набором пакетов и той-же учеткой подключается исправно. Пробовал пересоздать подключение, не помогло.

 , ,

WRG
()

const и volatile

Находил для себя на киберфоруме небольшую памятку про const

/* Переменную нельзя модифицировать */
int const a;
 
/* Эквивалентно "int const a;" */
const int a;
 
/* Указатель модифицировать (a = ...) можно, но записывать
 * по указателю (*a = ...) нельзя */
const int *a;
 
/* Эквивалентно "const int *a;" */
int const *a;
 
/* Указатель модифицировать (a = ...) нельзя, но записывать
 * по указателю (*a = ...) можно */
int * const a;
 
/* Указатель модифицировать (a = ...) нельзя, записывать
 * по указателю (*a = ...) нельзя */
const int * const a;

Справедливо ли всё это для volatile?

 ,

WRG
()

Конечные автоматы для микроконтроллера

Почитал по сабжу, поразмыслил над этим, и подумал, что должно быть весьма годный прием для программирования микроконтроллера. Накидайте пожалуйста реальных примеров, хотелось бы в живую поглядеть, как там всё устроено.

 конечный автомат,

WRG
()

Зацикливается функция

Микроконтроллер atmega48, можете думать что хотите по этому поводу, нравится мне AVR и все тут, внутренний тактовый генератор настроен на 1МГц.

Есть такой код.

#define F_CPU 1000000UL  // 1 MHz
#include <avr/io.h>
#include <util/delay.h>

void setup();

int main(void)            
{
    setup();
       
    while(1);

    return 0;
}

void setup()
{
    DDRB = 0x0;
    DDRC = 0x0;
    DDRD = 0x0;
    
    DDRC |= _BV(PC1);  // led pin as outpiut
    
    // left motor
    DDRB |= _BV(PB7);   // enable pin
    DDRD |= _BV(PD5);   // pin 1
    DDRD |= _BV(PD6);   // pin 2
    
    // right motor
    DDRB |= _BV(PB6);   // enable pin
    DDRB |= _BV(PB1);   // pin 1
    DDRB |= _BV(PB2);   // pin 2
    
    PORTC |= _BV(PC1);
    _delay_ms(100);
    PORTC &= ~_BV(PC1);
    _delay_ms(100);
}

Он должен настроить выходы контроллера, мигнуть светодиодом на выходе PC1 и уйти в бесконечный цикл, но не тут то было. Он начинает мигать светодиодом бесконечно, как будто setup() вызывается в в бесконечном цикле. Чяднт?.

 , ,

WRG
()

Регулировка яркости экрана с помощью скрипта

Debian Jessie, что на fglrx, что на radeon яркость экрана кнопками не регулируется. Но зато хорошо регулируется так:

echo 5 | sudo tee /sys/class/backlight/acpi_video0/brightness
Но туда нужны права рута. Как правильно запилить скриптец, который, запускаясь от пользователя мог бы писать туда? Или может лучше права на ту папку сменить, и если да, то какие лучше выставить?

WRG
()

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