Как в Nautilus создать файл, и тут же ему назначить имя?
Если поместить в шаблоны, то нужно отдельно жать кнопку переименовать.
И второй вопрос, file roller выкинули из gnome, как зайти в большой архив и извлечь один файл?
Если поместить в шаблоны, то нужно отдельно жать кнопку переименовать.
И второй вопрос, file roller выкинули из gnome, как зайти в большой архив и извлечь один файл?
Я обычно пишу все в одном файле *.php, иначе потом забываю какие файлы нужно закинуть через WinSCP на сервер, а какие нет. Там есть php, html, js, css.
Но я привык иметь для css и html отступ в два пробела, а для php и js в четыре. Как мне это настроить? Речь про авто-отступ.
Вот есть всякие флатпаки, firejail, они требуют что бы приложения запускались через них, но как мне ограничить доступ всем к папке ~/.config/google-chrome, кроме избранных приложений, thunar, mousepad и самого google chrome?
Не запускать же все через firejail, удобнее было бы наоборот, выдавать разрешение, а не вешать ограничения на процессы.
Почему не добавят в стандарт, и какие приемы используют что бы реализовать это?
Описание того что я хочу:
struct String {
int length;
char str[length]; // == char str[];
// указание длинны, просто подсказка для компилятора
};
struct Item {
struct String name;
struct String description;
bool flag1, flag2, flag3;
int elements_length;
struct Element elements[elements_length]
};
// Item *i = malloc(999999999);
// (char*)&i->description.length == ((char*)&i->name.str) + i->name.length
Пока что самое удобное что я придумал, это вместо массивов вставлять указатели, и при инициализации их вычислять, но это ручная работа, человек ее делать не должен...
Нужно ставить задания, назначать лимиты, что бы задания выполнялись не выходя за них, и выполнялись не все сразу, а тоже с настройками на ограничение, что бы можно было задать пользователя для задания, и после добавления в очередь, добавить к существующему заданию, еще одно задание, которое будет выполнятся если первое завершилось с ошибкой, или наоборот, если первое завершилось успешно.
Писать сам это не собираюсь, хотелось бы что то не васянское, может systemd такое уже умеет?
Решил немного разобраться как работают уязвимости. Как я понял, весомая их часть модифицирует стек.
#include <stdio.h>
register long unsigned rsp asm("rsp");
void print_arg(int arg) {
((int*)rsp)[3] = 0xBADC0DE;
printf("arg = %x\n", arg);
}
int main(int argc, char **argv) {
print_arg(0xF00D);
return 0;
}
Этот код отрабатывает и не выводит ошибкок с
-fhardened -fcf-protection=full
На мой взгляд выглядит небезопасно.
Почему бы не вставлять проверки на ассемблере при записи в память, на включаемость в регион стека? Если нужно записать что то в аргумент на стеке (int), то проверку можно не вставлять. При записи по указателю, уже обязательно вставлять. Если адрес стека то ошибка. В memset проверять пересечение двух диапазонов.
Если на стек пишет fread(), то нужно вставить еще проверку на разрешающий диапазон буфера в который он пишет. Но тут компилятору нужно обязательно отслеживать откуда приходит поинтер, но если мы говорим про значения на стеке, то это не должно представлять сложности, значение всегда лежит в прошлых значениях стека, а значит вычислить размер буфера можно в момент компиляции, ну или записать в какую нибудь дополнительную переменную на стеке, если речь о сложном потоке управления и alloca.
void read_file(const char *name)
{
char buff[999];
FILE *f = fopen(name, "rb");
read_block(f, buff);
}
void read_block(FILE *f, char *buff)
{
// тут компилятор должен вывести что len(buff) == 999
fread(buff, 1, 9999, f);
}
Что бы все идеально работало, нужно будет:
Orage - программа для Xfce для организации времени. Раннее она оставалась на gtk2 и не была доступна для новых версий Xfce.
( читать дальше... )
Перемещено hobbit из office
Решил запустить последний RoboCop на Linux, в меню меня встретили фризы в пару секунд, поэтому я побежал в магазин за новой видеокартой, но фризы не прошли, и я поставил Windows, а там тоже самое! Оказалось нужно просто подождать 10-20 секунд, и больше такого не будет, даже при следующем запуске.
Но под протоном испорчены разные вещи, например коты
Proton - https://ibb.co/g7KHmw6
Win - https://ibb.co/6byWNF8
Мартин Странски из Red Hat написал Wayland-Proxy как C++-версию предыдущей экспериментальной концепции, написанной на Rust
Среди ошибок Firefox Wayland одна из самых распространенных ошибок связана с потерей соединения с компоновщиком Wayland. Чтобы справиться с этим, необходимо иметь прокси-сервер между Firefox и компоновщиком Wayland для кэширования сообщений и предотвращения переполнения очереди сообщений компоновщика.
В комментариях разбирают подробнее
Mutter (и, возможно, другие) завершает работу клиента Wayland, если он распознается как зависший. Обычно это означает, что клиент Wayland недостаточно быстро читает сообщения из сокета дисплея Wayland и буфера вывода сообщений компоновщика. заполнено. Это может быть ошибка в самом приложении (цикл событий не обрабатывается) или это вызвано устройствами ввода, такими как мышь с частотой 1000 Гц, которая генерирует слишком много событий.
Такая ошибка действительно есть, любители Wayland с высокой герцовкой мыши, ранее делились советами не двигать мышкой когда открыт Firefox, иначе это может немедленно привести к его закрытию.
Что за причина для бана? Ну зачем так клоунадить, должна быть четкая причина, человек между прочем серьезный.
Можно заметить что без композитора чистые X11 приложения ощущаются намного более отзывчивыми и быстрыми, так же на Windows приложения использующие GDI с выключенным композитингом чувствуются очень хорошо, в чем причина?
Композитинг тормозит из за того что окна выводятся в промежуточные буферы а потом копируются в итоговый?
Делаю
apt source emacs
fakeroot rules/binary
Нужно https://packages.debian.org/buster/emacs-gtk
Собирает:
https://packages.debian.org/buster/emacs-nox
https://packages.debian.org/buster/emacs-gtk
Есть таблица (TreeView) вида
+------+------+------+
| Заг1 | Заг2 | Заг3 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------+------+
Нужно добавить под каждую строку прогресс бар, размером с (Заг1+ Заг2), при этом остальные столбцы должны быть выравнены.
+------+------+------+
| Заг1 + Заг2 | Заг3 |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------| |
+ #######.... | |
+------+------+------+
| 1234 | 1234 | 1234 |
+------+------| |
+ #######.... | |
+-------------+------+
| 1234 | 1234 | 1234 |
+------+------| |
+ #######.... | |
+-------------+------+
Как это сделать?
Есть человек который умеет с телефона и компьютера смотреть сайты, регистрироваться в соц.сетях итд. Но с файлами плохо понимает как работать, что такое офис не знает, итд.
Что можно такому человеку предоставить на русском языке по Linux? С упором на вещи которые можно применять в обычной жизни, то есть лучше что бы не был упомянут chmod, а было упомянуто как перекинуть файлы на флешку, как заполнить форму в LibreOffice итд. Что бы проходились поверхностно, но по нужным вещам.
Я мог бы показать это все сам, но это забывается, а сайт или документ можно посмотреть всегда без меня, и наверное кто то это уже сделал, и мне не надо тратить время.
Вот смотрю на то как в Rust делают приложения на Gtk, и очень удивляюсь, неужели кому то нравится писать вручную все эти интерфейсы в императивном стиле? А ведь пишут, еще обходя все проблемы, которые исходят из того что у Gtk свой подход к управлению памятью который на Rust не налазит, как и наследование компонентов, из за чего в Rust пришлось добавлять «классы» через макросы - https://gtk-rs.org/gtk4-rs/stable/latest/book/g_object_subclassing.html
Есть ли какая то проблема в создании libgtk-react, где можно будет описывать интерфейс декларативно, с использованием javascript, с удобным получением данных из C++ или Python части?
Вроде есть какие то библиотеки, но они нигде не используются как я понял.
После установки драйверов nvidia-driver:525, после запуска Xorg, если переключиться в tty монитор писал «Вход не поддерживается», переключение обратно в xorg tty не помогало. После добавления в xorg.conf
Section "Screen"
Option "UseEDID" "False"
EndSection
Как я понял, проблема в том что переключение на tty пытается ввести монитор в какой то неправильный режим, но как его сделать правильным?
Пробовал ставить по отдельности и вместе nomodeset, nvidia-drm.modeset=1, nvidia-drm.modeset=0, drm.edid_firmware=edid/custom_edid.bin где custom_edid.bin это то что я сгенерировал находясь в графической сессии с помощью nvidia-settings, но ничего не помогло.
В Wayland вообще всегда нет сигнала, как и в tty, как я понимаю настроив tty я смогу и им пользоваться.
Debian 12, Linux 6.1.0, NVIDIA 525.105.17, RTX 3060 LHR
Монитор https://www.dns-shop.ru/product/483fcc72d53b3332/238-monitor-acer-ka242ybi-ce...
Видеокарта https://www.dns-shop.ru/product/49b77a8077562eb0/videokarta-kfa2-geforce-rtx-...
www.linux.org.ru/vote-vote.jsp?msgid=17134667
Опрос тут называется:
«Рукость» ЛОРовца: какая рука у вас преобладающая?
«
»
Однажды я смог настроить PPTP, но теперь не получается, пробовал WireGuard но там какие то интерфейсы, пиры, ключи, вроде переменных меньше, но слишком сложно, я вообще ничего не понял. Для OpenVPN какие то ключи надо делать, конфиги писать, iptables запускать, неужели еще ничего не придумали простого? И что бы NetworkManager поддерживал.
Многие на ЛОРе жалуются, что люди выбирают Kali Linux просто так первым дистрибутивом, в погоне за любимым персонажем из фильма например, и советуют вместо этого читать книжки о Linux, изучить а там уже приступать. Ну и вот что там написано в этих самых книгах, как раз о той самой установке Kali Linux с нуля!
Перемещено hobbit из screenshots
Я часто работаю над несколькими проектами одновременно, смотрю что то в одном, делаю во втором итд, нужно держать их запущенными.
Если все проекты на Apache2 + PHP, без докера, то я бы использовал VirtualHosts, сделал бы для каждого проекта домен, и тестировал бы все там.
А что можно сделать в docker, docker compose из подобного? Идеальным решением было бы привязать docker-compose.yml к домену, что бы:
curl project-a.dev:8080 это /dev/project-a/docker-compose.yml::httpd
curl project-b.dev:8080 это /dev/project-b/docker-compose.yml::httpd
Как это реализовать?
следующие → |