вторник, 27 декабря 2016 г.

Linux Mint Caja and context menu

Захотелось как-то добавить дополнительный функционал к контекстному меню в ОС Linux Mint.

Используется:

niv@rhm ~ $ inxi -S
System:    Host: rhm Kernel: 3.19.0-32-generic x86_64 (64 bit) Desktop: MATE 1.12.0  Distro: Linux Mint 17.3 Rosa

Для MATE нативным менеджером является Caja.

Долго искал, как можно в контекстное меню добавить опции.

Одно из решений нашлось здесь.

Итак, вот что нужно сделать:

  1. Добавить исполняемый скрипт со своими командами в каталог  /home/username/.config/caja/scripts
  2. В контекстном меню появится строка с именем "Scripts".
  3. Выбираем необходимый скрипт и запускаем его.

Не слишком удобно для меня, но уже что-то.

Вообще - хотелось бы иметь возможность прямо из файлового менеджера выполнить команду по вычислению хэшей файлов...

Следует заметить, что на Гитхабе есть проект caja-actions.

среда, 21 декабря 2016 г.

SQL Developer v. 4.1.5 и база данных Oracle 9.2.0.8

При работе SQL Developer последних версий (4.1.5) с базами данных Oracle версий 9.2.0.8 возникает ряд проблем.



  1. Для собственно подключения к БД нужен драйвер - Third Party JDBC Driver подходящий именно для 9-х версий Oracle. Драйвер можно найти на сайте Oracle и загрузить на компьютер. Имя драйвера ojdbc6.jar.
    После загрузки драйвера и указания пути к нему в конфигурационных параметрах, подключение к БД осуществляется.


  2. Некоторые объекты при этом остаются недоступными - таблицы, процедуры, триггеры и т.д. При попытке открыть эти объекты появляется сообщение об ошибке ORA-01460.


  3. Исправить можно следующим способом. С сайта Oracle нужно загрузить Instant Client версии 11. Например, "instantclient-basic-linux.x64-11.2.0.4.0.zip". После распаковки архива нужно указать в конфигурационных параметрах каталог, куда был распакован архив. Вот так.




  4. После этого все объекты базы данных открываются без ошибок.

пятница, 16 декабря 2016 г.

Gramps

Для запуска локализованного (русского) интерфейса программы Gramps в англоязычном окружении среды в Linux, следует использовать следующую строку запуска:

LANG=ru_RU.utf8 gramps &

Удобно сохранить эту строку в исполняемом файле скрипта и запускать скрипт.

четверг, 21 июля 2016 г.

Добавление репозитория через прокси

Предположим, мы находимся за прокси и нам нужно добавить репозиторий, например так:

sudo add-apt-repository ppa:tails-team/tails-installer
В случае, если в консоли перед этой командой были определены переменные окружения для прокси, например такие:

export http_proxy=http://username:password@host:port/
export https_proxy=https://username:password@host:port/

необходимо модифицировать команду добавления репозитория вот так:

sudo -E add-apt-repository ppa:tails-team/tails-installer
где "-E" экспортирует переменные окружения пользователю sudo.

вторник, 21 июня 2016 г.

Использование ключей SSH - хорошая статья

Статья находится здесь:

https://wiki.archlinux.org/index.php/SSH_keys_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)



Апдейт от 2019 10 12


Отличная инструкция по созданию и использованию ключей на сайте https://www.ssh.com/ssh/keygen/.

SSH туннель для Firefox

Предположим, у нас есть удалённый хост с возможностью подключения по SSH. Есть локальный клиент для просмотра веб ресурсов - Firefox.

Как сделать так, чтобы веб трафик шёл по SSH туннелю через удалённый хост?



Вот так:

В Mozilla Firefox зайдите в Настройки -> Дополнительно -> Сеть -> Соединение

В параметрах соединения установите галочку на "Настроить параметры подключения прокси вручную" и пропишите в опциях:

SOCKS-прокси: localhost
Порт: 12345 (или любой другой неиспользуемый порт)

SSH соединение
SOCKS проксирование

Установите SSH-соединение командой в вашем SSH-клиенте:
ssh -D localhost:12345 ваше_имя@адрес_удаленного_компьютера


Для таких целей удобно применить аддон для браузера Proxy Selector.


Конечно, этот способ подойдет и для любого другого браузера.

суббота, 18 июня 2016 г.

DVDStyler & Linux Mint

При обычной установке из репозитория, во время прожига диска и даже iso образа, программа завершается с ошибкой.

Решение вот такое:

sudo apt-get remove libwxsvg0 libwxsvg-dev
sudo add-apt-repository ppa:ubuntuhandbook1/dvdstyler
sudo apt-get update
sudo apt-get install dvdstyler dvdstyler-data mjpegtools

среда, 11 мая 2016 г.

Как включить Intel AMT, если производитель это «забыл»

https://habrahabr.ru/post/283146/

Довольно полезная информация.

Интересно, с Lenovo T520 получится?

пятница, 15 апреля 2016 г.

FIND

Поиск в UNIX

basic 'find file' commands
--------------------------
find / -name foo.txt -type f -print             # full command
find / -name foo.txt -type f                    # -print isn't necessary
find / -name foo.txt                            # don't have to specify "type==file"
find . -name foo.txt                            # search under the current dir
find . -name "foo.*"                            # wildcard
find . -name "*.txt"                            # wildcard
find /users/al -name Cookbook -type d           # search '/users/al'

search multiple dirs
--------------------
find /opt /usr /var -name foo.scala -type f     # search multiple dirs

case-insensitive searching
--------------------------
find . -iname foo                               # find foo, Foo, FOo, FOO, etc.
find . -iname foo -type d                       # same thing, but only dirs
find . -iname foo -type f                       # same thing, but only files

find files with different extensions
------------------------------------
find . -type f \( -name "*.c" -o -name "*.sh" \)                       # *.c and *.sh files
find . -type f \( -name "*cache" -o -name "*xml" -o -name "*html" \)   # three patterns

find files that don't match a pattern (-not)
--------------------------------------------
find . -type f -not -name "*.html"                                # find all files not ending in ".html"

find files by text in the file (find + grep)
--------------------------------------------
find . -type f -name "*.java" -exec grep -l StringBuffer {} \;    # find StringBuffer in all *.java files
find . -type f -name "*.java" -exec grep -il string {} \;         # ignore case with -i option
find . -type f -name "*.gz" -exec zgrep 'GET /foo' {} \;          # search for a string in gzip'd files

5 lines before, 10 lines after grep matches
-------------------------------------------
find . -type f -name "*.scala" -exec grep -B5 -A10 'null' {} \;
     (see http://alvinalexander.com/linux-unix/find-grep-print-lines-before-after-...)

find files and act on them (find + exec)
----------------------------------------
find /usr/local -name "*.html" -type f -exec chmod 644 {} \;      # change html files to mode 644
find htdocs cgi-bin -name "*.cgi" -type f -exec chmod 755 {} \;   # change cgi files to mode 755
find . -name "*.pl" -exec ls -ld {} \;                            # run ls command on files found

find and copy
-------------
find . -type f -name "*.mp3" -exec cp {} /tmp/MusicFiles \;       # cp *.mp3 files to /tmp/MusicFiles

copy one file to many dirs
--------------------------
find dir1 dir2 dir3 dir4 -type d -exec cp header.shtml {} \;      # copy the file header.shtml to those dirs

find and delete
---------------
find . -type f -name "Foo*" -exec rm {} \;                        # remove all "Foo*" files under current dir
find . -type d -name CVS -exec rm -r {} \;                        # remove all subdirectories named "CVS" under current dir

find files by modification time
-------------------------------
find . -mtime 1               # 24 hours
find . -mtime -7              # last 7 days
find . -mtime -7 -type f      # just files
find . -mtime -7 -type d      # just dirs

find files by modification time using a temp file
-------------------------------------------------
touch 09301330 poop           # 1) create a temp file with a specific timestamp
find . -mnewer poop           # 2) returns a list of new files
rm poop                       # 3) rm the temp file

find with time: this works on mac os x
--------------------------------------
find / -newerct '1 minute ago' -print

find and tar
------------
find . -type f -name "*.java" | xargs tar cvf myfile.tar
find . -type f -name "*.java" | xargs tar rvf myfile.tar
     (see http://alvinalexander.com/blog/post/linux-unix/using-find-xargs-tar-crea...
     for more information)

find, tar, and xargs
--------------------
find . -name -type f '*.mp3' -mtime -180 -print0 | xargs -0 tar rvf music.tar
     (-print0 helps handle spaces in filenames)
     (see http://alvinalexander.com/mac-os-x/mac-backup-filename-directories-space...)

find and pax (instead of xargs and tar)
---------------------------------------
find . -type f -name "*html" | xargs tar cvf jw-htmlfiles.tar -
find . -type f -name "*html" | pax -w -f jw-htmlfiles.tar
     (see http://alvinalexander.com/blog/post/linux-unix/using-pax-instead-of-tar)


Взято вот здесь.

вторник, 22 марта 2016 г.

SSH client over HTTP Proxy

Понадобилось с работы подключиться к внешнему серверу по ssh.
На работе установлен прокси-сервер с авторизацией.

Для систем на базе Windows решение простое - использовать клиент PuTTY (кто любит - KiTTY), в настройках указать тип прокси и авторизацию.

Для систем на базе Linux - в примере используется Linux Mint - можно воспользоваться следующим сценарием:

  1. Любым известным способом устанавливаем в системе пакет corkscrew.
  2. Изменяем конфигурационный файл клиента ssh. Лично у меня с добавленным и модифицированным файлом конфигурации локального пользователя (~/.ssh/ssh_config) это не заработало. А вот внесение изменений в общий файл конфигурации ssh клиента в /etc/ssh/ssh_config - получилось сразу.
    Итак, под пользователем root вносим изменения в файл /etc/ssh/ssh_config, дописывая строку
    ProxyCommand /usr/bin/corkscrew 1.2.3.4 3128 %h %p /etc/ssh/proxyauth
    где
    /usr/bin/corkscrew - путь к утилите corkscrew
    1.2.3.4 - IP адрес вашего HTTP прокси сервера
    3128 - порт вашего HTTP прокси сервера
    %h - параметр хоста для клиента
    %p - параметр порта для клиента
    /etc/ssh/proxyauth - файл с данными авторизации на прокси сервере
    Файл авторизации имеет следующий формат:
    loginname:password
  3. После внесения этих изменений, в консоли набираем
    ssh login@sample.host.org
  4. Все работает.
  5. По мотивам с сайта.

вторник, 15 марта 2016 г.

Как в Linux работать с 4G (LTE) модемом мегафон М150-1 (Huawei E3276)

Пришлось отключить лишнее.

Вот так:

Вот исчерпывающий рецепт для Ubuntu.

1. Установите minicom.
sudo apt-get install minicom

2. Вставьте модем и подождите секунд 30.

3. Запустите терминал и выполните
sudo minicom --device=/dev/ttyUSB0

4. Выполните в терминале команду

ATE

Команда отображаться на экране не будет. В ответ получите

OK.

5. Выполните команду
AT^SETPORT="A1,A2;10,12,13,A2"

Команду нельзя редактировать в терминале. В ответ должны получить OK.

Это отключит режим компакт-диска и переведет устройство в режим модема, а не сетевой карты. При этом SD карта будет, если надо, определяться и работать.

6. Нажмите последовательно Ctrl+A и Q. Спросит "Выйти без сброса?". Согласитесь.

7. Выдерните модем и снова вставьте. Он через секунд 15 определится в Network Manager. Там можно будет создать соединение и пользоваться.

После этой процедуры модем будет заводиться без дополнительных ухищрений на любом компьютере с Ubuntu

Взято - здесь.

четверг, 10 марта 2016 г.

Установка Tor в Linux Mint за корпоративным proxy

При установке Tor, предлагается следующий вариант:

You need to add the following entry in /etc/apt/sources.list or a new file in /etc/apt/sources.list.d/:
deb http://deb.torproject.org/torproject.org trusty main
deb-src http://deb.torproject.org/torproject.org trusty main
Then add the gpg key used to sign the packages by running the following commands at your command prompt:
gpg --keyserver keys.gnupg.net --recv 886DDD89
gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
You can install it with the following commands:
$ apt-get update
$ apt-get install tor deb.torproject.org-keyring

Однако, подключиться к серверу для получения паблик ключа не удается. При попытке апдейта появляется ошибка:


W: GPG error: http://deb.torproject.org trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 74A941BA219EC810


Решение обнаружилось здесь.

Вот оно:

  1. Go to the OpenPGP Public Key Server. There you can enter your key into the Search String field, leaving everything else as is, then click "Search!".
    When searching for a key, always prepend 0x to it! This means that, for example, you have to search for 0x6AF0E1940624A220 instead of 6AF0E1940624A220.
  2. Click on the link provided in the pub section. This should take you to page containing the key. The page's heading should be similar to Public Key Server -- Get "0x6AF0E1940624A220"
  3. Copy everything from underneath the title (starting from -----BEGIN PGP PUBLIC KEY BLOCK-----) and save it in a file (e.g. key1).
  4. Once you have the file, run the following command
    sudo apt-key add key1
    
You will get an "OK" response.
And you are done. Repeat the procedure of other keys that might be missing.

Это действительно работает.

Возможно, более простым вариантом было бы - прописать настройки прокси в /etc/environment, но пока для меня достаточно указания параметров соединения с прокси в /etc/apt/apt.conf.


можно, как пишут тут, сделать и вот так в консоли:
sudo apt-key adv --keyserver-options http-proxy=http://USER:PASSWORD@PROXY_URL:PORT/ --keyserver keyserver.ubuntu.com --recv-keys GPG_KEY
заменив ключ и параметры авторизации соответственно.


среда, 2 марта 2016 г.

Как в Linux mint подключить ресурс smb в fstab

После двухдневного чтения документации и примеров, найденных в сети, появился следующий результат, который просто работает:

//1.6.1.2/support /home/niv/mnt/support cifs credentials=/home/niv/.smbcredentials,rw,iocharset=utf8,gid=1000,uid=1000,dir_mode=0777,file_mode=0777 0 0