Em termos muito simples, você pode imprimir com o comando lp
. Passe um arquivo e ele imprime.
lp testfile
lp <(echo "this is a test")
Há uma grande quantidade de opções , mas lá vai você.
A seleção de arquivos e a linguagem de programação são realmente para você. O que eu lhe dei pode ser chamado de praticamente qualquer um deles e todos eles têm suas próprias formas de trabalhar, mas aqui está um script de shell simples que usa o Zenity para um selecionador de arquivos da GUI.
p>#!/bin/sh
lp $(zenity --file-selection)
Mas obviamente não vai entender todos os formatos. Pode ser necessário executar a impressão de alguns formatos por meio dos aplicativos que entendem o formato. Por exemplo, Inkscape para SVG ... Ou rasterize-os para um formato que sua impressora possa entender.