Обратите внимание, что эта книга описывает внутреннее устройство Unix-системы AT&T, каким оно было 30 лет назад. Вы не можете предположить, что в современных Unix и unix-подобных системах все делается одинаково.
В любом случае, независимо от того, как каналы реализованы внутри, в то время как для обычных файлов или других файлов с возможностью поиска байтовое смещение - это то, что принадлежит описанию открытого файла (я полагаю, это то, что ваша книга называет запись в таблице файлов ). То есть два процесса, открывающие один и тот же файл независимо, будут иметь собственное смещение внутри файла. Чтение одним процессом из файла не влияет на смещение другого процесса.
Для каналов все файловые дескрипторы всех процессов, открытых в канале, имеют одинаковое смещение. Другими словами, смещение принадлежит трубе. Поэтому имеет смысл хранить его в индексном дескрипторе, а не дублировать его во всех описаниях открытых файлов.
переименуйте файл с именем, которое вы можете запомнить, а затем скопируйте его в / bin. Проверьте, введя имя недавно скопированной команды / файла. Если он работает, добавьте это имя в файл /etc/rc.local.
Надеюсь, это сработает для вас.
xmodmap
и xkbset
- это команды, которые выполняются в xorg. Попробуйте поместить свой сценарий в ваш xinitrc https://wiki.archlinux.org/index.php/Xinit
В недавнем дистрибутиве на основе Ubuntu вы можете автоматически запускать программу после входа в систему с графическим интерфейсом, как описано здесь