Хорошо, переходя по ссылке schaiba к отчету об ошибках, я создал .sh сценарий со следующими строками:
#!/bin/bash
xrandr --newmode "1920x1040_60.00" 165.50 1920 2040 2240 2560 1040 1043 1053 1079 -hsync +vsync
xrandr --addmode VNC-0 "1920x1040_60.00"
xrandr -s 1920x1040
после chmod +x файл и помещение его в моем ~/.vnc папка он выполняется, когда я вхожу в систему с xrdp.
Это может быть связано с тем, что размер истории равен 0.
Вы можете проверить размер истории gdb:
(gdb) show history size
The size of the command history is 0.
(gdb)
Если максимальный размер истории равен 0, то стрелка вверх , конечно, не работает, потому что никакая история не может быть сохранена.
Основная причина, по которой я нашел эту переменную, заключается в том, что переменная HISTSIZE бэш-окружения равна 0 или пуста. Это расстраивает, потому что я думал, что HISTSIZE= (пустое значение справа) в ~/.bashrc может сделать историю бэша сохраненной неограниченными элементами, но побочным эффектом является gdb обращение к $HISTSIZE, а затем установка размера истории gdb на 0 при старте gdb.
Таким образом, вы можете поместить HISTSIZE=10000000 на ваш ~/.bashrc и стрелка вверх должна теперь работать (WARN: резервное копирование вашего ~/. bash_history перед воспроизведением HISTSIZE):
(gdb) show history size
The size of the command history is 10000000.
(gdb)
Если вы настаиваете на том, чтобы HISTSIZE= оставался пустым на ~/.bashrc, то опция заключается в создании этой функции на ~/.bashrc:
gdb() ( HISTSIZE=70000000; /usr/bin/gdb "$@"; )
. ~/.bashrc для перезагрузки, теперь изменилось:
(gdb) show history size
The size of the command history is 70000000.
(gdb)
После выхода из gdb, оригинальный $HISTSIZE не будет переопределен (т.е. останется пустым как неограниченный), так как наша функция gdb использует подоболочку, т.е. окруженную круглыми скобками, gdb() (...):
$ echo $HISTSIZE
$
Вам также нужно включить функцию истории при выходе, а затем подумать, где хранить файл истории. Вот мой ~/.gdbinit файл, создайте его, если он еще не существует:
$ cat ~/.gdbinit
set environment HISTSIZE 10000000
set history filename ~/.gdb_history
set history save on
set history size 10000000
set history expansion on
show history
$
Вы можете спросить, почему set environment HISTSIZE 10000000 не работает? Потому что это влияет только на программу, а не на саму gdb, как указано на странице http://www.delorie.com/gnu/docs/gdb/gdb_20.html:
Установите значение varname переменной окружения. Значение изменяется для только для программы, а не для самого GDB.
Патч доступен сейчас, см. https://sourceware.org/bugzilla/show_bug.cgi?id=16999 :
2015-06-17 18:14:09 UTC:
.... Этот патч делает поведение недействительного GDBHISTSIZE совместимым с тем, как бэш ручки HISTSIZE. Когда мы сталкиваемся с нулем или вне диапазона. GDBHISTSIZE (за пределами [0, INT_MAX]) мы теперь устанавливаем размер истории в значение неограниченный вместо 0. Когда мы сталкиваемся с нецифровым GDBHISTSIZE, мы ничего не делать.
2015-06-17 18:30:10 UTC:
Следующая версия GDB больше не будет читать HISTSIZE вообще, потому что это вызывает больше проблем, чем решает. Вместо этого ГДБГИСЦИЗЕ является читать с той же целью. И для хорошей меры, поведение GDBHISTSIZE будет соответствовать тому, как bash читает HISTSIZE, поэтому настройка GDBHISTSIZE до -1 приведет к тому, что размер истории GDB будет неограниченным.