И это всё МОЁ

Cmus вместо того чтобы запуститься возвращает:


cmus: bind: No such file or directory


Меня хватило на то чтобы нагуглить что он «к доменному сокету подключиться не может». А я о сокетах ничего не знаю. И я начал узнавать, но пока то что я узнал не помогает исправить проблему, а музыку хочется слушать уже сейчас :)


Debian 10 x86_64, linux 4.19.









 ,








И это всё МОЁ

Сабжи ? Зарос уже









 








И это всё МОЁ
Доступен выпуск дистрибутива CentOS 7.8 (2003), вобравший в себя изменения из Red Hat Enterprise Linux 7.8. Дистрибутивы полностью бинарно совместимы с RHEL 7.8, внесенные в пакеты изменения, как правило, сводятся к ребрендингу и замене художественного оформления.



И это всё МОЁ

Никому не попадался таймер такой специфики: я нажимаю старт - тикает время. Я нажимаю стоп. Далее я нажимаю на кнопку еще раз - тикает в обратном порядке:


старт --> 1, 2, 3, 4, 5
стоп --> 5
старт --> 5, 4, 3, 2, 1









 ,








И это всё МОЁ

Нужно конвертировать видео в gif, и хочется делать это быстро и удобно.


Раньше мне советовали ffmpeg, и какое-то время меня это устраивало, потом я это дело забросил. Очень долго, нудно, неудобно все подгонять, вырезать, рулить таймингами через консоль… А есть еще такой вариант как выделить определенную область экрана и делать гифку только с нее- так ffmpeg вообще не умеет.


Вобщем хочу удобное графическое приложение под Linux, которое поможет мне в этом деле.









 , , , ,








И это всё МОЁ

Установил phpmyadmin. Опубликовал на apache2 на localhost. Вместо страницы показывает мне php код. В чем проблема?









 , , , ,








И это всё МОЁ

init version 2.88 reloading
И так час стоял, потом перезагрузил ноут, и вышло черный экран.
Помогите!









 , , , ,








И это всё МОЁ

Задался тут вопросом. Вот, например, есть у меня otrs или redmine какой-нибудь и есть несколько разных доменов со своими SSL парами. Могу ли я запилить все эти адреса и ssl пары в один конфиг в nginx? Сущность-то одна. Или надо для каждого домена свой конфиг держать?

Спасибо.








 ,








И это всё МОЁ

Где в Linux реализована нижеследующая возможность ?


      direct access to the screen buffer








 








И это всё МОЁ

Поддерживает ли PDF вставку gif-анимаций или коротких видео? Например, надо вставить анимированный график, но он отображается обычной статикой.









 , , , ,








И это всё МОЁ

Добрый день, по учебе нужно писать код в R (RStudio), но при установке большинства пакетов мне выдается ошибка, например, мне нужен пакет quantmod, при попытке его поставить мне выдаются такие ошибки


ERROR: configuration failed for package ‘curl’



  • removing ‘/home/loren/R/x86_64-redhat-linux-gnu-library/3.6/curl’
    Warning in install.packages :
    installation of package ‘curl’ had non-zero exit status
    ERROR: dependency ‘curl’ is not available for package ‘TTR’

  • removing ‘/home/loren/R/x86_64-redhat-linux-gnu-library/3.6/TTR’
    Warning in install.packages :
    installation of package ‘TTR’ had non-zero exit status
    ERROR: dependencies ‘TTR’, ‘curl’ are not available for package ‘quantmod’

  • removing ‘/home/loren/R/x86_64-redhat-linux-gnu-library/3.6/quantmod’
    Warning in install.packages :
    installation of package ‘quantmod’ had non-zero exit status


Что я делаю не так? Прошу вас, помогите!
(у меня дистрибутив Федора 30)









 








И это всё МОЁ
И это всё МОЁ

Всем привет.

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

Задача: передать массив данных в ПЛИС через PCIe и DMA.

Пока данные могу слать и читать с помощью ioread и iowrite, так же можно переслать через memcry, это говорит что девайс на pci жив и с ним можно работать, dma в пределах ПЛИСА так же отлично работает.

Вот теперь пытаюсь выделить кусок физической памяти в хосте, проинитеть его тестовыми данными (я просто решил её полностью заполнить константным значением), затем передать адрес этой памяти в pcie ПЛИСА и забрать от туда данные через dma (те pcie заберет по адресу данные, положит их к себе в выделенный бар (axi bar) и даст команду dma что можно забирать и складывать в ddr.

регистры ddr и pcie ПЛИСА так же пишутся, проверял. По всей видимости, косяк в коде.

Изначально область BAR0 (axi bar) со стороны ПЛИС обнулена, область для тестовых данных в DDR я тоже зануляю по включению питания. Когда шлю данные из хоста в BAR0 (axi bar) появляются странные, но достаточно не хаотичные цифры, но отличные от тех что шлю. Это говорит о том что что-то всётаки приходит из хоста.

Посмотрите пожалуйста код и подскажите что исправить.

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/interrupt.h>
#include <linux/dma-mapping.h>

#include "vi_cntr.h"

MODULE_LICENSE("GPL";);
MODULE_AUTHOR("Drakonof";);
MODULE_DESCRIPTION("PCI";);
MODULE_VERSION("0.1";);


#define CDMA_BAR 0
#define PCI_BAR 1
#define DDR_BAR 2


#define DEVICE_NAME "drakonof_pci"

static dma_addr_t dma_handle = 0;
static void * dmabuf = NULL;
static volatile uint32_t *pci_reg_mem = NULL, *cdma_reg_mem = NULL;
static volatile uint32_t *ddr_mem = NULL;
static resource_size_t cdma_start,cdma_len,pci_start,pci_len,ddr_start,ddr_len;


static struct pci_device_id vi_cntr_pci_id[] = {
{ PCI_DEVICE(VI_CNTR_VENDOR, VI_CNTR_ID), },
{ 0, }
};


MODULE_DEVICE_TABLE(pci, vi_cntr_pci_id);


static int vi_cntr_probe(struct pci_dev *pDev, const struct pci_device_id *id);
static void vi_cntr_remove(struct pci_dev *pDev);


static struct pci_driver vi_cntr_pci = {
.name = DEVICE_NAME,
.id_table = vi_cntr_pci_id,
.probe = vi_cntr_probe,
.remove = vi_cntr_remove
};


static int __init pci_init(void)
{
struct pci_dev *p_pci_dev = NULL;

if((p_pci_dev = pci_get_device(VI_CNTR_VENDOR,VI_CNTR_ID, p_pci_dev)) == NULL)
{
printk(KERN_NOTICE "PCI device not finded\n";);
}

return pci_register_driver(&vi_cntr_pci);
}


static void __exit pci_exit(void)
{
pci_unregister_driver(&vi_cntr_pci);
}


static int vi_cntr_probe(struct pci_dev *p_pci_dev, const struct pci_device_id *pId)
{
u16 vendor = 0,
id = 0;

u32 i = 0;


if(pci_enable_device(p_pci_dev))
{
printk(KERN_INFO "pci_enable_device error\n";);
}

pci_read_config_word(p_pci_dev, PCI_VENDOR_ID, &vendor);
pci_read_config_word(p_pci_dev, PCI_DEVICE_ID, &id);

printk(KERN_INFO "\n----------------------------------\n";);
printk(KERN_INFO "Device vendor: 0x%X\nDevice id: 0x%X\n", vendor, id);

cdma_start = pci_resource_start(p_pci_dev,CDMA_BAR);
cdma_len = pci_resource_len(p_pci_dev,CDMA_BAR);
pci_start = pci_resource_start(p_pci_dev,PCI_BAR);
pci_len = pci_resource_len(p_pci_dev,PCI_BAR);
ddr_start = pci_resource_start(p_pci_dev,DDR_BAR);
ddr_len = pci_resource_len(p_pci_dev,DDR_BAR);

if(pci_set_dma_mask(p_pci_dev, DMA_BIT_MASK(64)))
{
printk(KERN_INFO "pci_set_dma_mask error.\n";);
return -1;
}


if((dmabuf=dma_alloc_coherent(&p_pci_dev->dev,8192,&dma_handle,GFP_USER)) == NULL)
{
printk(KERN_INFO "dma_alloc_coherent error.\n";);
return -1;
}

if(pci_request_regions(p_pci_dev, DEVICE_NAME))
{
printk(KERN_INFO "pci_request_regions error.\n";);
return -1;
}

pci_set_master(p_pci_dev);

if((cdma_reg_mem = ioremap(cdma_start,cdma_len)) == NULL)
{
printk(KERN_INFO "ioremap pci_reg_mem error.\n";);
return -1;
}

if((pci_reg_mem = ioremap(pci_start,pci_len)) == NULL)
{
printk(KERN_INFO "ioremap pci_reg_mem error.\n";);
return -1;
}

if((ddr_mem = ioremap(ddr_start,ddr_len)) == NULL)
{
printk(KERN_INFO "ioremap pci_reg_mem error.\n";);
return -1;
}

// здесь я заполняю массив для передачи константой
dma_sync_single_for_cpu(&p_pci_dev->dev, dma_handle, 8192, DMA_TO_DEVICE);
for(i = 0; i < 256; i++)
{
*(u32*)(dmabuf + i)= 0xABCDEF89;
}
dma_sync_single_for_device(&p_pci_dev->dev, dma_handle, 8192, DMA_TO_DEVICE);

// передаю адрес выделенной физической памяти в pcie ПЛИСА
pci_reg_mem[0x208/4]=(dma_handle >> 32);
pci_reg_mem[0x20c/4]=(dma_handle & 0xFFFFFFFF);

// заполняю регистры cdma ПЛИС
cdma_reg_mem[0x18/4]=0x30000000; // из BAR0 (axi bar)
cdma_reg_mem[0x20/4]=0x80000000; // в ddr
// передать 256 байт, это так же запускает копирование
// данных из BAR0 (axi bar) в ddr
cdma_reg_mem[0x28/4]=256;

// жду статуса конца передачи от cdma
i = 0;
while(!(cdma_reg_mem[0x4/4] & 0x2))
{
if(i == 100000)
{
printk(KERN_INFO "SR ERR %X\n",cdma_reg_mem[0x4/4]);
break;
}
else i++;
}

iounmap(pci_reg_mem);
iounmap(cdma_reg_mem);
iounmap(ddr_mem);
pci_release_regions(p_pci_dev);
pci_disable_device(p_pci_dev);
dma_free_coherent(&p_pci_dev->dev, 8192, dmabuf, dma_handle);

return 0;
}

Спасибо!








 , ,








И это всё МОЁ

Под Linux-версию Майнкрафта будут работать моды для Windows-версий Майнкрафта?









 ,








И это всё МОЁ
И это всё МОЁ

Добрый день.
Есть ли аналог yad\zenity но полноэкранный с графикой в стиле CitrixReciver?


Задача сделать livecd единственная задача которого, запуститься и спросить у пользователя имя пользователя и пароль. После этого подключиться по RDP.
Не должно быть логина в самом линуксе. Но страница ввода пароля должна быть максимально модальной и максимально неубирааемой.
Автологин сделать не проблема, вместо WM запускать свой скрипт тоже. Но вот как сделать полноэкранную страницу ввода логина?


yad умеет в полном экране, но он убогий в таком виде.


Есть ли готовые решения?









 , , ,








И это всё МОЁ

Доброго времени суток


Сабж. И не просто люди, а монстрик, даня и маусёнок. Требуют собрать других старперов ;)


sudo cast @JB, @geek, @FiXer, @exception13, @Zulu


ну и остальные подтягивайтесь, linux-talks на jabber ru


З.Ы. кто-нибудь знает, как найти зулу и мыш?









 , , ,








И это всё МОЁ

Подскажите возможно через pmacct получать с железки траффик в netflow формате и отправлять его в sflow дальше на другой коллектор? По описанию отправлять вроде как умеет через sfprobe_receiver. В netflow формате с железки получаю через

nfacctd_port: 9991
nfacctd_time_new: true
plugins: memory

Как заставить pmacctd брать из памяти и отправлять через sfprobe_receiver дальше?

Может есть другие программы позволяющий это делать на лету.








 








И это всё МОЁ
И это всё МОЁ

Заранее прошу прощения за потенциально ламерский вопрос. Это мой первый опыт работы с Wayland.


Система, которую я разрабатываю, очень критична по времени запуска графической подсистемы, поэтому возникла идея запускать Weston и нужное приложение ещё на этапе initramfs. Желаемое получилось, но внезапно появилась проблема запуска остальных приложений, из «основного» юзерспейса, а именно они отказываются запускаться, возвращая ошибку «Authentication Failed» под номером 3.


Вот подробности.


Initramfs была собрана вручную, на базе busybox. Weston с приложением и либами были тоже скопированы (включая либы PAM и прочий мусор, без которого не взлетело). /dev статичен, с минимумом необходимых нод. /init представляет собой маленький sh-скрипт, который монтирует /proc, /run, /sys, запускает Weston и приложение, а потом монтирует основной корень и передаёт туда управление через switch_root(). Помимо этого, я монтирую в новую ФС существующий /run под именем /run_old, чтобы спасти сокет Wayland’a. Я не уверен, что последнее сделано правильно, но systemd в основной ФС затирает содержимое /run, а до сервера надо как-то достучаться, а этот костыль, вроде как, работает.


В основной ФС я линкую сокет wayland-0 и wayland-0.lock из /run_old в /run.


Всякий диагностический софт (LayerManagerControl, weston-info) работает и показывает инфу по поводу сервера, но всё, что пытается выводить картинку (и использует /dev/dri/card0), валится с вышеназванной ошибкой.


Вот кусочек strace клиентского приложения:


https://pastebin.com/wzdSiaaE


Видно, что оно цепляется корректно к /run/user/0/wayland-0, потом шлёт ioctl DRM_IOCTL_GET_MAGIC к /dev/dri/card0, дальше шлёт (?) magic в сокет сервера, который уже посылает приложение нафиг.


Со стороны сервера всё выглядит так:


https://pastebin.com/jkmeMzH7


Интересна строка:


[pid  1107] ioctl(14, DRM_IOCTL_AUTH_MAGIC, 0xfffff92b32d0) = -1 EACCES (Permission denied)


Хендл 14 указывает на (уже удалённый) /dev/dri/card0. Вот список всех открытых хендлов сервера:


https://pastebin.com/RTFNbEDW.


Единственная зацепка, которая у меня есть, это то, что switch_root() перед переключением на основную ФС рекурсиво удаляет все файлы в initramfs, включая /dev/dri/card0 (это видно выше по пометке «(deleted)»;). И по факту новые приложения уже общаются с другим, динамически созданным devtmpfs. Но я не понимаю, как это должно влиять, так как хендл-то у нас всё равно жив, да и какая разница, какая у нас нода устройства и когда она примонтирована, если Major/Minor номера совпадают! В общем, зацепка так себе, и я даже не знаю, как её нормально проверить.


Кстати, вот ещё грепнутый кусок трассировки сервера:


$ grep "AUTH_MAGIC" strace-wayland-log
[pid 1107] ioctl(14, DRM_IOCTL_AUTH_MAGIC, 0xfffff92b32d0) = 0
[pid 1107] ioctl(14, DRM_IOCTL_AUTH_MAGIC, 0xfffff92b32d0) = -1 EACCES (Permission denied)
[pid 1107] ioctl(14, DRM_IOCTL_AUTH_MAGIC, 0xfffff92b32d0) = -1 EACCES (Permission denied)
[pid 1107] ioctl(14, DRM_IOCTL_AUTH_MAGIC, 0xfffff92b32d0) = -1 EACCES (Permission denied)
[pid 1107] ioctl(14, DRM_IOCTL_AUTH_MAGIC, 0xfffff92b32d0) = -1 EACCES (Permission denied)
[pid 1107] ioctl(14, DRM_IOCTL_AUTH_MAGIC, 0xfffff92b32d0) = -1 EACCES (Permission denied)


Видно, что первое граф. приложение (из initramfs) авторизуется нормально, но не последующие.


Есть идеи, куда копать?









 , ,