Lynx and other commands unavailable in Terminal?

Posted:
in Genius Bar edited January 2014
I printed out a list of basic unix commands a few days ago, and I saw a few commands (mostly web) that looked neat. They included lynx (the web browser), Gopher (the database browser) and pine (a simple mailer).So I tried using them, and each one was followed with a 'command not found'. Are these unnavilable in OS X? Or did I print some strange 1970s crap? What gives?

Comments

  • Reply 1 of 15
    gardnerjgardnerj Posts: 167member
    Give us a clue which particular commands.. and for your reference that weird 70's stuff is the back bone of every unix box out there ...
  • Reply 2 of 15
    placeboplacebo Posts: 5,767member
    This might be my insane lack of UNIX knowledge, but anyway. When you, for example, use vi, you type vi into the terminal window, and hit return. Vi then opens. I then assume that to use lynx, you type lynx into the window, and hit enter. Is this the case, or am I naive beyond possible measurement?



    NOTE: my UNIX terminology is porbably not up to snuff. I am assuming that vi and lynx are commands.
  • Reply 3 of 15
    thuh freakthuh freak Posts: 2,664member
    pine and lynx are both available from fink (http://fink.sf.net). fink is a project where people port unix programs to macosx, and distribute them similar to debian's dpkg distribution mechanism. gopher doesn't seem to be part of fink, but i would strongly recommend against using it, since it is a terrible, terrible thing. also, pine and lynx (and possibly gopher) are open-source programs, so, if you're savvy, you can download, compile and install them from source.
  • Reply 4 of 15
    placeboplacebo Posts: 5,767member
    Why do UNIX commands/programs have to be ported to X? Is the OS X UNIX core a different breed of UNIX than BSD itself?
  • Reply 5 of 15
    ghost_user_nameghost_user_name Posts: 22,667member
    Quote:

    Originally posted by Placebo

    Why do UNIX commands/programs have to be ported to X?



    There's often very little that needs to be done for a port of small apps like these, actually. In most cases it's a simple recompile for the PPC architecture and Darwin kernel.
  • Reply 6 of 15
    placeboplacebo Posts: 5,767member
    Oh yeah. I forgot that most UNIX systems aren't PPC based.
  • Reply 7 of 15
    1337_5l4xx0r1337_5l4xx0r Posts: 1,558member
    No, you all misunderstand. 'Porting' has nothing to do with Architecture (PPC, x86) in Unix-land. Unix is super-portable in that sense, largely just needing to be compiled for the desired hardware. Porting in the Unix context means getting, say, a linux program to run natively on BSD, which is typically very easy, as most apps source code will just compile.



    The reason you don't have pine, mutt, lynx, etc. is twofold:



    One, they are not a part of a 'base' unix/linux distribution. They are not necessary for the system to run, so they are not included by default.



    Two, virtually noone using OSX has a use for Pine or lynx or bitch, as Mac users tend to like GUI apps, so Apple has no incentive to install them (by default). Unix-heads or techies will use fink or simply compile from source anyway.



    BTW, w3m is way better than lynx. edit: w3m supports tables, frames, even mouse scroll wheels!
  • Reply 8 of 15
    tchwojkotchwojko Posts: 139member
    Nothing to do with architecture?



    Byte order, byte alignment, 64 vs. 32 bit addressing, etc.
  • Reply 9 of 15
    1337_5l4xx0r1337_5l4xx0r Posts: 1,558member
    That's all handled by the compiler.
  • Reply 10 of 15
    And "porting" has nothing to do with the operating system it runs on?



    Somehow I don't think these apps were designed originally with Darwin 6.6 in mind.
  • Reply 11 of 15
    123123 Posts: 278member
    Quote:

    Originally posted by Brad

    And "porting" has nothing to do with the operating system it runs on?



    Somehow I don't think these apps were designed originally with Darwin 6.6 in mind.




    He said: "Porting in the Unix context means getting, say, a linux program to run natively on BSD" (which is basically what you say).



    However:

    Quote:

    Originally posted by 1337_5L4Xx0R

    That's all handled by the compiler.



    That's wrong. If you do (low-level) file/network related things, byte-order swapping routines have to be added to the code, it's not done automatically by the compiler. Or try writing complex data structures directly from memory to a file/network (without platform independent marshalling) and read it on another machine...



    This is not what you should do if you want your code to be "portable", but many programs have issues like that before being "ported" to another system+architecture for the first time.



    The word "port" is used, even if it's the same OS but different architecture (linux x86 vx. linux PowerPC).
  • Reply 12 of 15
    1337_5l4xx0r1337_5l4xx0r Posts: 1,558member
    Okay, we're getting a bit off topic here, but the reason mutt, pine and BitchX, and any app written in a high level language like C, is not shipped w/ OSX, is because Apple decided they weren't neccessary or useful for most users, not because they haven't been 'ported' to Darwin. There's no 'porting' to do; a simple recompile will do the trick.



    I'm using gentoo linux right now, on a TiBook, and my /etc/make.conf has ACCEPT_KEYWORDS="~ppc ~x86"

    So far I have encountered one program, armagetron, which has sound endian issues. Out of hundreds, nay thousands of software source code I've compiled in the last 6 months, and on my Wallstreet G3 before that.



    Porting in the unix context typically means 'getting linux software to work on BSD' or vice versa, as there are subtle differences between them (ie: /dev/wsmouse vs /dev/input/mice).



    Software that is written in assembly or something is not 'ported' to another arch, it is rewritten for that arch. 99.9% of software is written in a high level language, specifically because these are 'portable' languages.
  • Reply 13 of 15
    123123 Posts: 278member
    Quote:

    Originally posted by 1337_5L4Xx0R

    Okay, we're getting a bit off topic here, but the reason mutt, pine and BitchX, and any app written in a high level language like C, is not shipped w/ OSX, is because Apple decided they weren't neccessary or useful for most users, not because they haven't been 'ported' to Darwin. There's no 'porting' to do; a simple recompile will do the trick.



    As I said before, this will work if the code is already portable. Just because something's written in C, that doesn't make it portable in the sense that a simple recompile will always work on a different arch (same OS). You might have to add swapping routines (eg, in media players) or have to take care of 64/32 bit ints, depending on what the program does.



    Quote:

    Originally posted by 1337_5L4Xx0R

    Software that is written in assembly or something is not 'ported' to another arch, it is rewritten for that arch. 99.9% of software is written in a high level language, specifically because these are 'portable' languages. [/B]



    "portable languages"? So a high level language is portable and a low level language is not? Doesn't that mean that being "portable" has something to do with hardware abstraction? So, wouldn't you say that "to port" obviously goes beyond OS environment but includes architecture as well?



    There's not much software that is written in 100% assembly. Everything else that's written in a higher level language and (if at all) contains little assembly is not "rewritten" but is "ported". Linux has not been "rewritten" for the PPC, it also was not just recompiled, it was "ported".
  • Reply 14 of 15
    pyr3pyr3 Posts: 946member
    To answer the original question: No they are not included in OSX :



    Peterson$ which pine

    /sw/bin/pine

    Peterson$ which lynx

    /sw/bin/lynx

    Peterson$
  • Reply 15 of 15
    1337_5l4xx0r1337_5l4xx0r Posts: 1,558member
    Actually, re-reading this thread, i realise I have major reading comprehension skill problems. Oops.



    Had I read the thread more carefully, I'd've realised Brad & I were saying the same thing, slightly differently. D'oh.



    And yes, 123 you are right about porting. So I will stop posting now...
Sign In or Register to comment.