Open-Source Tools

Atom unter Ubuntu 20.04

ATOM Logo

Eigent­lich bin ich eine treue See­le. Aber auch mei­ne Geduld ist begrenzt: Die Tipps von Eclip­se wer­den unter Ubun­tu 20.04 schwarz auf schwarz ange­zeigt. Hmm. Mark­down-Edi­to­ren sind umständ­lich. Oopps. Und der ‘Spell­ch­eck’ für deutsch-eng­li­sche Tex­te geht immer noch nicht. Grrr. Also auf zu neu­en Ufern: Geben wir ‘Atom’ unter Ubun­tu 20.04 eine Chan­ce, selbst wenn wir dafür eini­ge Klip­pen umschif­fen müs­sen.

[ de | en ]

Legen wir zuerst genau­er fest, was Atom bie­ten muss, um (uns) zu gefal­len:

  • Recht­schreib­prü­fung für deutsch-eng­li­sche Tex­te
  • bei gleich­zei­ti­gem Syn­tax-High­light­ing
  • und Code-Com­ple­ti­on für Latex, Mark­down, HTML PHP, C/C++, Java, bash
  • Naht­lo­se Inte­gra­ti­on in eine mobi­le Lap­top-Arbeits­um­ge­bung
  • Gute Mark­down-Unter­stüt­zung.

Und machen wir uns dann dar­an, den Edi­tor zu instal­lie­ren und zu kon­fi­gu­rie­ren:

Die Standard-Ubuntu-Methode: Geradeaus klappt’s nicht!

Mit der Ver­si­on 20.04 wird das neue Snap-Paket­for­mat zum kaum zu umge­hen­den Stan­dard­for­mat. Vie­le Pro­gram­me — dar­un­ter ‘Atom’ — wer­den schon gar nicht mehr als Debi­an-Pake­te ange­bo­ten, son­dern müs­sen via Ubun­tu-Soft­ware-Cen­ter als Snap-Pake­te instal­liert wer­den. Das klappt auf den ers­ten Blick — und ’schei­tert’ beim nächs­ten Hin­se­hen:

  • So wur­de mei­ne ers­te Instal­la­ti­on nach eini­gen Tagen nicht mehr im Bestand geführt: weder snap list atom noch snap list --all lis­te­te ‘Atom’ noch auf, obwohl ich den Edi­tor doch immer noch auf­ru­fen konn­te. Sys­te­misch war das Paket damit auch von allen Updates abge­schnit­ten. Die Lösung war ’simp­le’: ‘Atom’ ein­fach noch ein­mal per Ubun­tu-Soft­ware-Cen­ter instal­lie­ren. Danach lies sich der Edi­tor auch wie­der fin­den und rück­stands­los per snap remove atom ent­fer­nen (und wie­der instal­lie­ren)
  • Nur reagier­te die Ver­si­on — wie im Netz beschrie­ben — immer noch unschön: Sie öff­ne­te — unver­hin­der­bar — bei jedem Auf­ruf zwei völ­lig nutz­lo­se Doku­men­te.

Damit schied die­se Vari­an­te aus: Wenn ich mich wei­ter ner­ven las­sen woll­te, hät­te ich auch bei Eclip­se blei­ben kön­nen.

Auch der .deb-Umweg scheitert.

Die offi­zi­el­le Atom-Doku­men­ta­ti­on beschreibt zwei Wege zur Instal­la­ti­on von Atom. Beim ein­fa­che­ren Weg lädt man sich das .deb-Paket her­un­ter und instal­liert es mit sudo dpkg -i atom-amd64.deb. Lei­der schei­tert das unauf­ge­lös­ter Abhän­gig­kei­ten wegen.

Aber wenigstens der komplexe Weg führt weiter …

Dabei lädt man zuerst den Schlüs­sel run­ter, erwei­tert die apt sources, macht ein update und instal­liert das Paket:

1. wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add -
2. sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list'
3. sudo apt-get update
4. sudo apt-get install atom

Und tat­säch­lich erhält man ein in den Ubun­tu GNOME 3 Desk­top inte­grier­ten Edi­tor.

… bedarf aber noch zusätzlicher Pakete …

Offi­zi­ell lässt sich Atom über ein inte­grier­tes Inter­face erwei­tern, das frau per Edit/Preferences/Install (Linux) bzw. File/Settings/Install (Win­dows) erreicht: Über das obe­re Text­feld lässt man das gewünsch­te Packa­ge suchen, über die dann erschei­nen­de ‘Kar­tei­kar­te’ instal­lie­ren.

Gele­gent­lich funk­tio­niert die inte­grier­te Suche nicht. Jeder Auf­ruf endet im Feh­ler i.filter is not a function [object Object], was nicht Ubun­tu geschul­det ist, son­dern dem Atom Ser­ver. In sol­chen Fäl­len kommt frau auf Umwe­gen zum Ziel: Sie sucht per Goog­le nach dem Paket und wird (meist) auf einen Tref­fer unter https://atom.io/packages/ gelei­tet. Dort fin­det sich jeweils auch eine Hin­weis zur manu­el­len Instal­la­ti­on. In der Regel braucht man auf der Kon­so­le nur apm install $packagename ein­zu­ge­ben. Das Paket wird dann unter .atom/packages instal­liert und bei jedem Neu­start gela­den.

Damit kön­nen wir uns die zusätz­li­chen Pake­te holen, die wir brau­chen:

  • Zum ers­ten wol­len wir ‘Atom’ als LaTeX-Edi­tor ver­wen­den. Dafür müs­sen wir ihm die LaTeX-Syn­tax bei­brin­gen: apm install language-latex
  • Dann wol­len wir ‘Atom’ u.U. auch als LaTeX-IDE ver­wen­den, also müs­sen wir ihm die LaTeX-Build-Kom­man­dos zugäng­lich machen: apm install latex
  • Außer­dem soll ‘Atom’ unse­re Recht­schrei­bung über­prü­fen, und zwar in deut­schen und eng­li­schen Tex­ten. Die Mehr­spra­chig­keit wer­den wir spä­ter kon­fi­gu­ra­tiv akti­vie­ren. ‘Atom’ darf uns aber nicht jeden LaTeX-Befehl als Feh­ler ankrei­den. Und es soll unse­ren Code über­prü­fen. Das müs­sen wir ihm per Lin­ter und Sub­mo­du­le bei­brin­gen apm install linter linter-spell linter-ui-default linter-spell-latex. Für die ande­ren Spra­chen gibt es ent­spre­chen­des, z.B. apt install linter-php
  • Schließ­lich wol­len wir ‘Atom’ auch nut­zen, wenn wir mit dem Lap­top auf der son­ni­gen Ter­ras­se sit­zen. Dabei hin­dert der Dark-Mode sehr. Glück­li­cher­wei­se gibt es ein Packa­ge, mit dem man schnell mal zwi­schen Hell-und-Dun­kel-Ansicht wech­seln kann: apm install dark-mode. Den Togg­le-Befehl fin­det man — wie üblich — unter Packages/dark mode.
  • Für unse­re Mark­down-Akti­vi­tä­ten brau­chen wir fast nichts zu tun: Das Syn­tax-High­light­ing läuft out-of-the-box. Und über Packages/Markdown Preview kön­nen wir uns das nach html kon­ver­tier­te Doku­ment direkt anse­hen. Um es in eine PDF-Datei umzu­wan­deln, ohne in die Shell zu pan­doc zu wech­seln, brau­chen wir noch ein Packa­ge: apm install markdown-pdf. Nach dem Neu­start kön­nen wir das Packa­ge unter File/Settings/Packages#markdown-pdf kon­fi­gu­rie­ren und fin­den unter Packages/Markdown To PDF das Umwand­lungs­kom­man­do.

… und Anpassungen der Konfiguration:

Kon­fi­gu­rie­ren lässt sich ‘Atom’ über zwei Wege: Unter Edit/Preferences (Linux) bzw. File/Settings/ (Win­dows) kön­nen unter Core und Editor all­ge­mei­ne Eigen­schaf­ten ein­ge­stellt wer­den. Unter Edit/Preferences/Packages (Linux) bzw. File/Settings/Packages (Win­dows) erreicht man die instal­lier­ten Pake­te und deren spe­zi­fi­sche Kon­fi­gu­ra­ti­ons­mög­lich­kei­ten.

Wir benö­ti­gen bei­de Metho­den:

  • Zum ers­ten soll unser ‘Atom’ ein Soft­wrap ver­wen­den, also eine lan­ge Text­tei­le auto­ma­tisch umbre­chen, ohne die Zei­le wirk­lich mit einen LF (Linux) bzw. CR LF (Win­dows) umzu­bre­chen. Dazu akti­vie­ren wir unter Edit/Preferences#Editor das Soft Wrap mit­tels eines Hakens. Dazu legen wir dann auch noch fest, dass der vir­tu­el­le Umbruch nicht am Fens­ter­rand erfolgt, son­dern an der maxi­ma­len Zei­len­brei­te Soft Wrap At Pre­fer­red Line Length
  • Dann soll unser ‘Atom’ die Recht­schrei­bung in gemischt­spra­chi­gen Tex­ten über­prü­fen kön­nen. Dazu kon­fi­gu­rie­ren wir das Packa­ge Edit/Preferences/Packages/spell-check ent­spre­chend:
    • Wir akti­vie­ren Use Locales per Häk­chen.
    • Und wir tra­gen in das Feld Loca­les en-US, de_DE ein.

Und damit haben wir, was wir wollten:

‘Atom’ tritt als hackable text edi­tor an. Das Netz weiß um sei­ne bes­ten Erwei­te­rung. Man braucht sich nur inspi­rie­ren zu las­sen. Die Metho­den blei­ben die, die wir hier ange­wen­det und mit denen wir unse­re Zie­le erreicht haben:

Fea­tureSta­tus
1.)Recht­schreib­prü­fung für gemischt­spra­chi­ge Tex­te
2.)Kon­text­sen­si­ti­ve Recht­schreib­prü­fung in Pro­gram­mier­spra­chen
3.)Syn­tax-High­light­ing für Latex, HTML PHP, C/C++, Java, bash
4.)Code-Com­ple­ti­on für Latex, HTML PHP, C/C++, Java, bash
5.)Inte­gra­ti­on in ein Lap­top auch für son­ni­ge Arbeits­plät­ze
6.)Mark­down-Unter­stüt­zung

Ein letztes Geständnis

Ganz weg­le­gen wer­de ich Eclip­se nicht. Denn kein Tool bie­tet mit den Modu­len XText und XTend einen bes­se­ren Sup­port für die Ent­wick­lung domä­nen­spe­zi­fi­scher Spra­chen.


Und in welchem größere Zusammenhang …

… steht die­ser Text? Nun, mein Leben ist ein­ge­bet­tet in freie Soft­ware, Natur und Musik. Manch­mal fin­de ich da absei­ti­ge­re Wege und Tools, die es trotz­dem wert sind, geteilt zu wer­den. Und sei es nur mit mei­nem ver­gess­li­chen zukünf­ti­gen ‘ich’. Dem ich ger­ne immer wie­der ein­mal ein Stra­to über die Shell ans Herz lege. Oder pas­send erwei­ter­te Edi­to­ren. Oder uralte Vor­ar­bei­ten. Manch­mal möch­te ich die­ses ‘ich’ aber auch nur an Hal­tun­gen, Stand­punk­te und Ein­stel­lun­gen erin­nern. Damit ich nicht hin­ter mich zurück­fal­le. Denn gesagt ist gesagt. Dar­um geht es auch in hier.


Im Übri­gen: Män­ner sind mit­ge­meint.

2 Kommentare zu “Atom unter Ubuntu 20.04”

  • Peter Mueller

    says:

    Any idea of how to get babel-com­mands-depen­dent spell­ch­e­cking? That is, the Ger­man docu­ment

    Das ist ein lan­ger Satz (engl. \foreignlanguage{USenglish}{sentence}).

    should invo­ke no spell­ch­e­cker war­nings, whe­re­as

    Das ist ein lan­ger sen­tence (engl. \foreignlanguage{USenglish}{Satz}).

    should invo­ke two spell­ch­e­cker war­nings.

    Antworten

  • Karsten Reincke

    says:

    Ok. I see, what you want to get: a con­text sen­si­ti­ve fault mes­sa­ge in bet­ween a sen­tence. Does ‘Babel’ offer such a fea­ture in gene­ral? I have not used ‘Babel’ actively. So, unfort­u­na­te­ly, I can’t help you.

    And my solu­ti­on is inde­ed much wea­k­er than that you want to get:

    A) ‘Das ist ein lan­ger Satz (engl. sen­tence)’ only marks the abbre­via­ti­on ‘engl.’

    B) And in ‘Das ist ein lan­ger sen­tence …’ my solu­ti­on does not see that
    a)’sentence’ nor­mal­ly is not a word in a Ger­man sen­tence as well as
    b) it does not see that ‘Satz’ isn’t an Eng­lish word.

    So, if you find a way, to get what your need, plea­se let us know your solu­ti­on.

    Antworten

Kommentar schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To top