спасибо тебе, мил человек

пхаха, ну я и ступил =)

код на сях

#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
int main(void) 
{
    int fd  = -1;
    int ret = -1;
    
    char current_tty[10] = { 0 };
    char prev_tty[10]    = { 0 };
    for (;;) 
    {
            fd = open("/sys/class/tty/tty0/active", O_RDONLY);
            
            if (fd < 0) 
                break;
        
            fd_set         fds;
            int            ret;
            struct timeval tv;
            FD_ZERO(&fds);
            FD_SET(fd, &fds);
            
            tv.tv_sec  = 0;
            tv.tv_usec = 500;
            ret = select(fd + 1, &fds, NULL, NULL, &tv);
            if (FD_ISSET(fd, &fds)) 
            { 
                memset(current_tty, 0, sizeof(current_tty));
                ret = read(fd, current_tty, sizeof(current_tty));
                if (!strlen(current_tty) || strcmp(current_tty, prev_tty))
                {
                    memset(prev_tty, 0, sizeof(prev_tty));
                    strcpy(prev_tty, current_tty);
                    
                    printf("%s", current_tty);
                }
            }
            
            sleep(1);
            close(fd);
            fflush(stdout);
    }
    
    return EXIT_SUCCESS;
}
не (

>>cat 1.sh       
#!/bin/bash
cmnd=`cat /sys/class/tty/tty0/active`
touch /tmp/ttys
while :
do
  echo $cmnd >> /tmp/ttys
  sleep 3s
done

написал для systemd демона, запускающий скрипт при старте системы. Всегда выдает tty1
нужно определить какой tty активен, если сама программа, написанная для этого, зупущена в другом(этом же) tty/работает как демон
Дефолт. Всё устраивает.

хех, я как раз-таки впервые поставил арч, будучи ещё школотой 9 класса. До этого была убунту и сюся (в сумме не больше месяца), по началу всё устраивало, потом понял, что не моё: не совсем гибкое и в дюже аляпистых монстров я превратил их; начал искать что попроще – наткнулся на фругу, арч и генту, выбрал арч; по началу понравилась эта приятная “возня” с установкой и с консолью, дальше – больше. Так и остался до сей поры на нём
нужны были следующие флаги
 -DQT_QMAKE_EXECUTABLE=/opt/qt-stable-4.6/bin/qmake -DQT_QT_INCLUDE_DIR=/opt/qt-stable-4.6/    include/ -DQT_QT_INCLUDE_DIR=/opt/qt-stable-4.6/include/Qt
проблема в том, что в системе 2 разных версии (4.6 и 4.8) Qt, нужно собрать с версией 4.6, которая расположена в /opt
#include <stdio.h>
int main()
{
    int i = 10, *p, **q;
    p = &i;
    q = &p;
    printf ("%p", &**q); /* вывод адреса переменной i */
    printf ("\n%p", *q); /* тоже, что и вверху */
    printf ("\n%p", q); /* адрес самого у-ля */
    return 0;
}
man chown

менять права для системных файлов - это плохой тон


в ауре наверняка есть пакет для управления режимами питания для вашего ноутбука
так, ЕМНИП, > создаёт новый файл и пишет туда, для дозаписи в файл нужно >>