Краткое решение:
tint2rc
.
# enable a text label widget that displays in the tint2 taskbar
taskbar_name = 1
# choose a color for the font that differs from the background
taskbar_name_font_color = #0005ff 100
Более подробный рассказ:
Прочитав документацию / вики по tint2, я попытался сделать только taskbar_name = 1
. Но я не увидел ярлыка для рабочего стола.
К счастью, я обнаружил, что существует tint2conf
приложение с графическим интерфейсом, которое показывает все параметры конфигурации tint2 и позволяет вам «применять» и «сохранять» изменения в вашем файле конфигурации tint2. Я много экспериментировал и в конце концов нашел что-то, что сработало.
$ HOME / .config / openbox / rc.xml
и перейдите к элементу xml с именем
, где вам нужно
и выбрать положительное значение N
и создайте новый xml-элемент
для каждого из N
рабочих столов <имя>
для каждого рабочего стола -> тогда tint2
получит пустую строку и отобразит пустую строку -> тогда не сможет определить, на каком рабочем столе / рабочем пространстве вы находитесь (т.е. ) tint2
tint2
tint2
запускает копирование файла конфигурации tint2rc в домашний каталог пользователя по адресу: $ HOME / .config / tint2 / tint2rc tint2rc
-> перейти к разделу, начинающемуся с комментария # Панель задач
-> убедитесь, что следующие пары ключ / значение включены рис .
taskbar_name = 1
taskbar_name_font_color = #0005ff 100
tint2
(я остановил процесс tint2
, а затем снова запустил его в фоновом режиме с помощью nohup
) Причина, по которой я сначала потерпел неудачу, заключалась в том, что я включил только taskbar_name
, а цвет шрифта по умолчанию был таким же, как у фона -> поэтому я не мог видеть текст.
Как только я выбрал цвет, в данном примере красный, который отличался от фона, я смог увидеть имя рабочего стола.
Во-первых, ваше предположение о том, что делает сценарий, кажется правильным.
Он просматривает все файлы, папки, символические ссылки и т. Д., Которые он находит в $ 1
, если это файл, то он детализирует глубже, чтобы определить, является ли это библиотекой или исполняемым файлом.
В сценариях оболочки $ 1
является первым аргументом, переданным сценарию, поэтому для запуска этого сценария с $ ACTIVE_DB / rom / system
в позиции $ 1
] вы можете просто вызвать сценарий с помощью
./scriptname $ACTIVE_DB/rom/system
. Примечание. Если вы вызываете его из командной строки, то вместо действительного пути необходимо указать $ ACTIVE
.
Чтобы заставить этот скрипт рекурсивно спускаться в ваш целевой каталог, вы можете попробовать добавить это в свой скрипт
while [ -n "$1" ]; do
# use globbing to descend into all subdirectories
for bin in $(find "$1" | tr '\n' ' '); do
# change this ^^^^
[ -f "$bin" ] || continue
# leave the rest of the script as is
# ....
Итак, если кому-то интересно, что я сделал, вот код на данный момент.
Спасибо @the_velour_fog за помощь.
Если кто-то считает, что это худшее из возможных решений
(я тоже не считаю его супер сексуальным, но оно делает то, что должно делать), напишите им сюда.
while [ -n "$1" ]; do
for bin in $(find "$1"); do
[ -f "$bin" ] || continue
case "$bin" in
*.so)
export start=$(date +"%T")
printf "$bin:\t"
echo -n "$start " >>"$ACTIVE_DB/logs/parse_bin.log"
echo "$bin" >>"$ACTIVE_DB/logs/parse_bin.log"
"$FILE_DIR/perls/parse_bin.pl" "$bin" dbi:SQLite:dbname="$ACTIVE_DB/test.sqlite" 2>>"$ACTIVE_DB/logs/parse_bin.log"
;;
*.jar)
export start=$(date +"%T")
printf "$bin:\t"
echo -n "$start " >>"$ACTIVE_DB/logs/parse_jar.log"
echo "$bin" >>"$ACTIVE_DB/logs/parse_jar.log"
"$FILE_DIR/perls/parse_jar.pl" "$bin" dbi:SQLite:dbname="$ACTIVE_DB/test.sqlite" 2>>"$ACTIVE_DB/logs/parse_jar.log"
;;
*.apk)
export start=$(date +"%T")
printf "$bin:\t"
echo -n "$start " >>"$ACTIVE_DB/logs/parse_apk.log"
echo "$bin" >>"$ACTIVE_DB/logs/parse_apk.log"
"$FILE_DIR/perls/parse_apk.pl" "$bin" dbi:SQLite:dbname="$ACTIVE_DB/test.sqlite" 2>>"$ACTIVE_DB/logs/parse_apk.log"
;;
*)
if [ -x "$bin" ] ; then
export start=$(date +"%T")
printf "$bin:\t"
echo -n "$start " >>"$ACTIVE_DB/logs/parse_bin.log"
echo "$bin" >>"$ACTIVE_DB/logs/parse_bin.log"
"$FILE_DIR/perls/parse_bin.pl" "$bin" dbi:SQLite:dbname="$ACTIVE_DB/test.sqlite" 2>>"$ACTIVE_DB/logs/parse_bin.log"
else
continue
fi
;;
esac
done
shift
done
Насколько я могу судить на данный момент, это работает, но я не уверен насчет этой части в конце
*)
if [ -x "$bin" ] ; then
export start=$(date +"%T")
printf "$bin:\t"
echo -n "$start " >>"$ACTIVE_DB/logs/parse_bin.log"
echo "$bin" >>"$ACTIVE_DB/logs/parse_bin.log"
"$FILE_DIR/perls/parse_bin.pl" "$bin" dbi:SQLite:dbname="$ACTIVE_DB/test.sqlite" 2>>"$ACTIVE_DB/logs/parse_bin.log"
else
continue
fi
Будущее покажет^^