Vraag & Antwoord

OS Linux

ActiveTcl

6 antwoorden
  • Sinds ongeveer een week ben ik bezig om linux te proberen (Redhat 9) Voor veel gebruikte programma's heb ik ondertussen een goede vervanging gevonden, waar nodig, maar Amsn wil nog niet helemaal goed werken. Als ik het programma opstart (zou moeten kunnen door 'amsn' in te typen in een terminal venster) Krijg ik de volgende melding: [code:1:ce5af9fcd6]/usr/bin/env: wish: Onbekend bestand of map[/code:1:ce5af9fcd6] Nu heb ik Tcl/tk geinstalleerd op het systeem, maar dan blijft de foutmelding komen. Het programma is wel op te starten met: [code:1:ce5af9fcd6]/usr/local/ActiveTcl/bin amsn[/code:1:ce5af9fcd6] nu stond bij de installatie dat PATH moest worden veranderd, maar zodra ik dat doe werkt bijna geen opdracht meer. (zoals su, find, cd, mv, rm) Wat doe ik fout of ben ik vergeten?
  • [quote:0e2c5ef96f="E gozeling"] Wat doe ik fout of ben ik vergeten?[/quote:0e2c5ef96f] Vermoedelijk pas je het path niet aan op de goeie manier. Doe eens "echo $PATH" voor en na de wijziging.
  • Aangezien je programma om wish 'lijkt' te vragen, zou het een Tcl/Tk script kunnen zijn (of een ander script dat Tk gebruikt). In dat geval zou je het met vi kunnen openen. De eerste regel is dan vermoedelijk iets als (of zoek een dergelijke regel op): [code:1:00b2b8146f]#!/usr/bin/wish[/code:1:00b2b8146f]Dit vertelt je shell waar de script interpreter staat (en welke). Dit moet verwijzen naar de juiste file, dus iets als [code:1:00b2b8146f]#!/usr/local/ActiveTcl/bin/wish[/code:1:00b2b8146f] Let op, dit geldt alleen als amsn inderdaad een script is en niet een gecompileerd programma
  • wish betekent Widget Shell, en is inderdaad onderdeel van Tcl/Tk (van Tk om precies te zijn). Nieuwere versies installeren wish vaak onder de naam wish8.3 of wish8.4 enz. Wat je het beste kunt doen is even wish8.3 of wish8.4 proberen op te zoeken (meestal in /usr/bin/, soms in /usr/X11R6/bin/) en even naar die directory te gaan als root. Dan een symlink maken: [b:6e17b7a729]ln -s wish8.3 wish[/b:6e17b7a729] EDIT: na herlezen van je posting is denk ik dat het een ander probleem is: /usr/local/ActiveTcl/bin staat niet in je PATH variabele. Dit kun je op 2 manieren oplossen: De eerste regel van het amsn script veranderen in: [b:6e17b7a729]#! /usr/local/ActiveTcl/bin/wish[/b:6e17b7a729] of aan je /etc/profile de volgende regel toevoegen: [b:6e17b7a729]export PATH="$PATH:/usr/local/ActiveTcl/bin"[/b:6e17b7a729] Wat jij waarschijnlijk met PATH gedaan hebt is alle andere directories eruit verwijderd. PATH is een lijst van directorynamen waarin de shell zoekt naar programma's die gestart moeten worden. Deze namen worden door dubbele punten gescheiden, bijvoorbeeld: [b:6e17b7a729]PATH="/bin:/usr/bin:/usr/kde/bin:/usr/X11/bin:/usr/local/bin:/usr/games/"[/b:6e17b7a729]
  • [quote:8340b9d598="robian"]Vermoedelijk pas je het path niet aan op de goeie manier. Doe eens "echo $PATH" voor en na de wijziging.[/quote:8340b9d598] [quote:8340b9d598="wbsoft"]Wat jij waarschijnlijk met PATH gedaan hebt is alle andere directories eruit verwijderd[/quote:8340b9d598] Ok, dat is alvast 1 ding, ik had het de oude PATH variabele niet in de nieuwe gezet, de rest was inderdaad verdwenen. Helaas was dit niet de (volledige) oplossing, de volgende foutmelding verscheen, die ik bij het starten op de andere manier niet kreeg. [code:1:8340b9d598]Error in startup script: couldn't read file "/usr/bin/notebook.tcl": no such file or directory while executing "source [file join $program_dir notebook.tcl] " (procedure "reload_files" line 7) invoked from within "reload_files" (file "/usr/bin/amsn" line 177) [/code:1:8340b9d598] Als ik de Active Tcl directory weer uit PATH haal, en opstart op de oude manier is de foutmelding weer weg. Ik heb geprobeerd om $program_dir te laten verwijzen naar de directory waar de bestanden staan, maar dan nog wordt het niet gevonden. (in het bestand de regel: [code:1:8340b9d598]set program_dir ¨[/code:1:8340b9d598] Veranderd in [code:1:8340b9d598]set program_dir¨/home/test/msn¨[/code:1:8340b9d598] Is het verstandig om de hele inhoud van de msn directory te verplaatsen naar /usr/bin ?
  • Nee, dat is absoluut niet verstandig. /usr/bin is enkel bedoeld voor executables. Wellicht is de makkelijkste manier op dit te regelen gewoon een alias in .bash_profile of .bashrc zetten. alias amsn='/usr/local/ActiveTcl/bin amsn' vervolgens doe je 'source .bash_profile' en 'amsn' en dan doet hij het

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.