Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Matesax 01 Dubna 2013, 08:14:33

Název: Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 08:14:33
Dobrý den,
na chvíli jsem se vrátil k .NET - a nalezl jsem osekanou verzi MonoDevelop - tedy bez Gnome. Ale nechce se spustit. Má se tedy otevírat v jiném programu? Nebo kde by mohl být problém? A co znamená propojení s Firefoxem/Mozzilou?

Kód: [Vybrat]
#!/bin/bash

#this script should be in $PREFIX/bin
MONO_EXEC="exec -a monodevelop mono"
EXE_PATH="${0%%/bin/monodevelop}/lib/monodevelop/bin/MonoDevelop.exe"

_MD_REDIRECT_LOG="${MD_REDIRECT_LOG:-${XDG_CONFIG_HOME:-$HOME/.config}/MonoDevelop/log}"

_MONO_OPTIONS=$MONO_OPTIONS

#############################
## BEGIN MOZILLA DETECTION ##
#############################

#(NOTE: any changes to this block should be kept in sync with the one in configure.in)
MOZFILE="libgtkembedmoz.so"
find_libgtkembedmoz ()
{
MOZDIR=$MOZILLA_FIVE_HOME
if test -e "$MOZDIR/$MOZFILE"; then echo $MOZDIR; return; fi

       ALLMOZDIRS=$(grep -h GRE_PATH= /etc/gre.d/*.conf 2>/dev/null | cut -d '"' -f 2 -d = )
       if [ -n "$ALLMOZDIRS" ] ; then
               for MOZDIR in $ALLMOZDIRS ; do
                       if test -e "$MOZDIR/$MOZFILE"; then echo $MOZDIR; return; fi
               done
       fi

mozilla_script=$(which mozilla 2> /dev/null)
firefox_script=$(which firefox 2> /dev/null)

if [ -z $mozilla_script ] && [ -z $firefox_script ]; then return; fi
for runtime_script in "$firefox_script $mozilla_script"; do
MOZDIR=$(grep "MOZ_DIST_LIB=" $runtime_script 2> /dev/null | cut -d '"' -f 2 | cut -d '=' -f 2)
if test -e "$MOZDIR/$MOZFILE"; then echo $MOZDIR; return; fi
MOZDIR=$(grep "MOZILLA_FIVE_HOME=" $runtime_script 2> /dev/null | cut -d '"' -f 2 | cut -d '=' -f 2)
if test -e "$MOZDIR/$MOZFILE"; then echo $MOZDIR; return; fi
MOZDIR=$(grep "MOZILLA_LIBDIR=" $runtime_script 2> /dev/null | cut -d '"' -f 2 | cut -d '=' -f 2)
if test -e "$MOZDIR/$MOZFILE"; then echo $MOZDIR; return; fi
MOZDIR=$(grep "moz_libdir=" $runtime_script 2> /dev/null | cut -d '"' -f 2 | cut -d '=' -f 2)
if test -e "$MOZDIR/$MOZFILE"; then echo $MOZDIR; return; fi
done
}

if test -e "/$MOZFILE"; then
MOZILLA_HOME=""
else
MOZILLA_HOME=`find_libgtkembedmoz`
if test ! -e "$MOZILLA_HOME/$MOZFILE"; then
MOZILLA_HOME=
echo "WARNING: Cannot find Mozilla directory containing $MOZFILE. Some Addins may not be able to function. Please set MOZILLA_FIVE_HOME to your Mozilla directory."
fi
fi

if [ -n $LD_LIBRARY_PATH ]; then
export LD_LIBRARY_PATH="$MOZILLA_HOME:$LD_LIBRARY_PATH"
else
export LD_LIBRARY_PATH="$MOZILLA_HOME"
fi

export MOZILLA_FIVE_HOME="$MOZILLA_HOME"

###########################
## END MOZILLA DETECTION ##
###########################

if [ -n "$_MD_REDIRECT_LOG" ]; then
mkdir -p `dirname "$_MD_REDIRECT_LOG"`
$MONO_EXEC $_MONO_OPTIONS "$EXE_PATH" $* 2>&1 | tee "$_MD_REDIRECT_LOG"
else
$MONO_EXEC $_MONO_OPTIONS "$EXE_PATH" $*
fi

Volání monodevelop

Kód: [Vybrat]
tc@box:~$ sudo monodevelop
sudo: unable to execute /usr/local/bin/monodevelop: No such file or directory
tc@box:~$

A samotné exe chce interpret - ?
Děkuji.
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Myrmica 01 Dubna 2013, 10:27:03
Co je to osekaná verze?
Si ji položil na špalek, a sem tam uťal něco co přečnívalo? ;)
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Kedrigern 01 Dubna 2013, 10:35:29
Mono je založeno na GTK#, možná z něj jde vypreparovat části "GNOME#" (integrace do prostředí), ale je to od pohledu blbý nápad.

Jaký důvod má použití této verze?
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 11:09:24
Nemá nadbytky - na co je chtít? Samozřejmě se to netýká hlavní funkčnosti - jako by to bylo normální MonoDevelop - uvedl jsem to abych se k jeho užití ospravedlnil - když je má zásada nemít cokoliv, co nepotřebuji...
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Myrmica 01 Dubna 2013, 15:01:01
Hm protože jsi z programu (monodevelop) odebral blíže neurčené části, tak Ti těžko někdo poradí proč nefunguje.

(Hele já jsem včera z auta vyndal fůru věcí, které se mi nelíbily, a představ si, ono teď nejede, nevíš proč?)
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 15:04:50
Ale já nic neodebral... Je to TCL verze - bez Gnome. To nesouvisí s tím, že executable soubor se nedá dvojkilem spustit - ale vyjede dialog OpenWith... A shell script vypíše blíže neurčený no exist error...

Vážne mne nebaví, že nikdo nečte co píši

Citace
nalezl jsem osekanou verzi MonoDevelop

Zkompilovaný binární balík v repozitáři by asi fungovat měl...

Já jen napsal, že neporušuji své zásady. Normální MonoDevelop bere s sebou asi tak 120MB kravin - jako třeba Nautilus...
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Myrmica 01 Dubna 2013, 15:36:53
Ale já nic neodebral... Je to TCL verze - bez Gnome. To nesouvisí s tím, že executable soubor se nedá dvojkilem spustit - ale vyjede dialog OpenWith... A shell script vypíše blíže neurčený no exist error...

Vážne mne nebaví, že nikdo nečte co píši

Citace
nalezl jsem osekanou verzi MonoDevelop

Zkompilovaný binární balík v repozitáři by asi fungovat měl...

Já jen napsal, že neporušuji své zásady. Normální MonoDevelop bere s sebou asi tak 120MB kravin - jako třeba Nautilus...
Hm to je přesně to, že nečteš co píšou ostatní. Pokud vím, tak jsem se ptal
Co je to osekaná verze?
Si ji položil na špalek, a sem tam uťal něco co přečnívalo? ;)
A jak ti mám pomoci, když píšeš žalostně málo informací.... Pokud by jsi řekl odkud a co používáš, možná bych Ti mohl pomoci.
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 15:51:21
TCL MonoDevelop... Error jsem poslal... unable to execute

http://distro.ibiblio.org/tinycorelinux/tcz_2x.html

Jak mohu poslat, co nemám... Vím jen, že to nejde spustit... Zkusím Wine.
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Myrmica 01 Dubna 2013, 17:01:49
Takže, jestli tomu rozumím tak nepoužíváš Ubuntu nebo jeho klon, ale Tiny Core Linux. Nebo se mýlím?
To jsi měl říci hned na začátku.
Pokud je MonoDevelop ořezaný, tak některé funkce třeba nahrazuje použitím mozilly. Máš mozillu nainstalovanou?
Víc Ti teď nejsem schopen říct.

(Pod TCL jsem si nejdříve představoval Tool Command Language a přemýšlel jak je spojen s .NET a mono  :) )

pokud Ti to pomůže, tak přikládám startovací script z Ubuntu:
Kód: [Vybrat]
#!/usr/bin/env bash

#Workaround for Unity gnome shell
export UBUNTU_MENUPROXY=0

#this script should be in $PREFIX/bin
MONO_EXEC="exec -a monodevelop mono"
EXE_PATH="${0%%/bin/monodevelop}/lib/monodevelop/bin/MonoDevelop.exe"

_MD_REDIRECT_LOG="${MD_REDIRECT_LOG:-${XDG_CONFIG_HOME:-$HOME/.config}/MonoDevelop/log}"

##NOTE: remove this for stable releases
if [ -z "$MD_NO_DEBUG" ]; then
_MONO_OPTIONS=${MONO_OPTIONS:---debug}
else
_MONO_OPTIONS=$MONO_OPTIONS
fi

# Monodevelop menus don't work with Ubuntu appmenu
export UBUNTU_MENUPROXY=0

if [ -n "$_MD_REDIRECT_LOG" ]; then
mkdir -p `dirname "$_MD_REDIRECT_LOG"`
$MONO_EXEC $_MONO_OPTIONS "$EXE_PATH" $* 2>&1 | tee "$_MD_REDIRECT_LOG"
else
$MONO_EXEC $_MONO_OPTIONS "$EXE_PATH" $*
fi
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 17:10:31
Tým TCL je malý, proto píši sem. Nevidím problém v distribuci - jak vysvětlíš OpenWith dialog po double clicku na executable... To není chybějící součást - to má prostě jít...
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Myrmica 01 Dubna 2013, 17:28:23
Mě nevadí, že používáš TCL, ale při zjišťování funkčnosti to je zásadní informace. Měl jsi napsat třeba:

Používám Tiny Core Linux a chci si nainstalovat MonoDevelop, mám problém s tím a tím.
Pak by to bylo jasné.

Proč při spuštění naskočí dialog OpenWith? Máš nainstalováno Mono?
Zkoušel jsi to spustit klasicky:
Kód: [Vybrat]
mono MonoDevelop.exe Samozřejmě s odpovídající cestou u MonoDevelop.exe.
umě na Ubuntu to je:
Kód: [Vybrat]
mono /usr/lib/monodevelop/bin/MonoDevelop.exe
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 18:15:01
Neee...

Měl jsem pravdu - ne třeba psát o distribuci... Ptal jsem se, zda to chce interpret - mohl jsi napsat o Monu...

Citace
Má se tedy otevírat v jiném programu?

Z logiky nejde nainstalovat MonoDevelop bez Mona - závislosti, jen mne nenapadlo pustit MonoDevelop v Monu...

I tak mám problém -

Kód: [Vybrat]
System.NullReferenceException: Object reference not set to an instance of an object
  at GLib.Object.NotifyCallback (IntPtr handle, IntPtr pspec, IntPtr gch) [0x00000] in <filename unknown>:0

- máš s tím zkušenost?

Prosím čtěte co píši -

Citace
tedy bez Gnome

Citace
Co je to osekaná verze?

Nic jsem nevynechal - moho to být u konce...
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Myrmica 01 Dubna 2013, 18:51:08
Hm, tohle se mi ještě nestalo. Možná to, že se nevytvořil nějaký objekt má spojitost s tím, žes to nespustil z toho skriptu.

Prověřil bych všechny závislosti.
Zkontroloval bych verze mona, i MonoDevelopu. Nevím jak instalace funguje Tiny Core Linuxu.

Máš nainstalovaný ten firefox? To jsem nějak nepostřehl.

Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 19:32:19
Firefox mám... Mozzilu -

Kód: [Vybrat]
Cannot find Mozilla directory containing $MOZFILE. Some Addins may not be able to function. Please set MOZILLA_FIVE_HOME to your Mozilla directory.

jsem nedostal...

ABI je ABI, repository je repository - jedno v jaké distribuci... Nedali by tam nefunkční balík - ne? A zase - vazby jsou vazby - bez těch to nejde stáhnout/zkompilovat,... V scriptu také nevidím onen problém - jak vidíš - nic Monu nepředává krom atributu...

Kód: [Vybrat]
$MONO_EXEC $_MONO_OPTIONS "$EXE_PATH" $*

Celé to je zbytečné - jen test Mozzily a FF - proboha proč...
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Myrmica 01 Dubna 2013, 19:38:26
Předává to také environment proměnnou:
Kód: [Vybrat]
export MOZILLA_FIVE_HOME="$MOZILLA_HOME"a v tom to vypadá na problém. Viz ta hláška co zdůrazňuješ, takže ještě zkontrolovat instalaci mozilly.
Víc mě toho zatím nenapadá...
Název: Re:Jak spustit MonoDevelop?
Přispěvatel: Matesax 01 Dubna 2013, 19:40:03
Já ten error nedostal - nic tedy nechybí...